Контроль версий для Laravel — это пакет, обеспечивающий контроль версий базы данных для моделей Eloquent. Этот пакет работает путем создания отдельной таблицы базы данных *_versions
, которая соответствует модели (т. е. users_versions
).
use Redsnapper\LaravelVersionControl\Models\BaseModel;
class Post extends BaseModel
{
}
Поскольку требуются две таблицы, вам нужно использовать предоставленный базовый Migration
для определения миграции:
use Redsnapper\LaravelVersionControl\Database\Blueprint;
use Redsnapper\LaravelVersionControl\Database\Migration;
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
$this->makeVcTables("users",function(Blueprint $table){
$table->string('email')->unique();
$table->string('password');
},function(Blueprint $table){
$table->string('email');
$table->string('password');
});
}
}
Наконец, вы можете получить версии модели, используя метод versions()
для моделей, которые расширить базовую модель в этом пакете:
$model->versions();
Вы можете узнать больше об этом пакете, получить полные инструкции по установке и просмотреть исходный код на GitHub.