mudandstars / simple-historizations
This package allows for simple historizations of specific columns of a model.
Requires
- php: ^8.2
- spatie/laravel-package-tools: ^1.14
Requires (Dev)
- laravel/pint: ^1.4
- nunomaduro/larastan: ^2.4
- orchestra/testbench: ^8.0
- pestphp/pest: ^1.22
- pestphp/pest-plugin-laravel: ^1.4
- phpstan/extension-installer: ^1.2
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-phpunit: ^1.3
This package is auto-updated.
Last update: 2024-11-14 11:06:18 UTC
README
Disclaimer
This package was meant to be a practice effort, growing out of the need of an own project. If you require more complex functionality, I recommend you use the popular Laravel Auditing.
simple-historizations
When you want to historize changes to a column in your model, this package is for you.
How it works
You have a model 'MyModel' and want to historize changes to the 'column_to_historize' column.
So you add the trait to the model and specify which columns to historize, giving each historization model a proper name.
Then, you run the command and migrate your database and voilá, whenever the specified column changes, a new instance of the historization model will be created.
Installation & Setup
- Install the package into your project via composer like so:
composer require mudandstars/simple-historizations
- Use the trait in the models you want to historize on change:
class MyModel extends Model { use SimpleHistorizations; ... }
- Specify the name of your Historization models and the column it should historize:
class MyModel extends Model { use SimpleHistorizations; protected $historize = [ 'HistorizationModelName' => 'column_to_historize', 'CostHistorization' => 'cost', ]; ... }
- Run the artisan command to make the required models and migrations and migrate your database:
sail artisan make-historization-files
sail artisan migrate
You are all set up now. On subsequent updates to the model, an instance of the specified HistorizationModel will be created when the column_to_historize changes.