Control for Laravel is a package that provides database version control for Eloquent models. This package works by creating a separate *_versions
database table that corresponds with the model (i.e., users_versions
).
You start by extending the package's base model for models you'd like to include version control:
1use Redsnapper\LaravelVersionControl\Models\BaseModel;2 3class Post extends BaseModel4{5}
Since two tables are required, you need to use the provided base Migration
class to define migrations:
1use Redsnapper\LaravelVersionControl\Database\Blueprint; 2use Redsnapper\LaravelVersionControl\Database\Migration; 3 4class CreateUsersTable extends Migration 5{ 6 /** 7 * Run the migrations. 8 * 9 * @return void10 */11 public function up()12 {13 $this->makeVcTables("users",function(Blueprint $table){14 $table->string('email')->unique();15 $table->string('password');16 },function(Blueprint $table){17 $table->string('email');18 $table->string('password');19 });20 }21}
Finally, you can retrieve model versions using the versions()
method on models that extend the base model in this package:
1$model->versions();
You can learn more about this package, get full installation instructions, and view the source code on GitHub.
0 comments:
Post a Comment
Thanks