• Час читання ~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
Sarah 3:34 PM

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.

Replies

Sarah 3:34 PM

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.

Sarah 3:34 PM

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.

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