mudandstars/simple-historizations

This package allows for simple historizations of specific columns of a model.

v1.0.3 2023-03-03 20:59 UTC

This package is auto-updated.

Last update: 2024-11-14 11:06:18 UTC


README

Latest Version on Packagist Software License Total Downloads Tests

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

  1. Install the package into your project via composer like so:
composer require mudandstars/simple-historizations
  1. Use the trait in the models you want to historize on change:
class MyModel extends Model
{
    use SimpleHistorizations;

    ...
}
  1. 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',
    ];

    ...
}
  1. 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.