• Время чтения ~0 мин
  • 10.07.2022

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

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Об авторе CrazyBoy49z
WORK EXPERIENCE
Контакты
Ukraine, Lutsk
+380979856297