Контроль версий для 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.