Полное руководство по миграции Laravel: методы и примеры кода

Laravel – это популярный PHP-фреймворк, предоставляющий встроенную систему миграции для управления схемами баз данных. Миграции позволяют вам со временем изменять схему базы данных и синхронизировать ее с кодовой базой вашего приложения.

Вот некоторые распространенные методы, связанные с миграцией Laravel, а также примеры кода:

  1. Создание миграции.
    Чтобы создать новую миграцию, вы можете использовать команду make:migrationArtisan. Например, чтобы создать миграцию для создания таблицы «пользователи», вы можете запустить в терминале следующую команду:

    php artisan make:migration create_users_table
  2. Определение структуры таблицы.
    В созданном файле миграции вы можете определить структуру таблицы, используя фасад Schema. Вот пример создания таблицы «пользователи» с несколькими столбцами:

    use Illuminate\Database\Schema\Blueprint;
    use Illuminate\Support\Facades\Schema;
    public function up()
    {
    Schema::create('users', function (Blueprint $table) {
        $table->id();
        $table->string('name');
        $table->string('email')->unique();
        $table->timestamp('created_at')->nullable();
        $table->timestamp('updated_at')->nullable();
    });
    }
  3. Выполнение миграции.
    Чтобы запустить ожидающую миграцию, вы можете использовать команду migrateArtisan. Просто запустите следующую команду в своем терминале:

    php artisan migrate
  4. Откат миграции:
    Если вам нужно откатить последний пакет миграции, вы можете использовать команду migrate:rollbackArtisan:

    php artisan migrate:rollback
  5. Сброс миграций.
    Чтобы отменить все миграции и запустить их повторно, вы можете использовать команду migrate:refreshArtisan:

    php artisan migrate:refresh
  6. Заполнение данных.
    Laravel также предоставляет возможность заполнить вашу базу данных исходными данными. Вы можете создать сеялку с помощью команды make:seederArtisan и определить свои данные в методе run. Например:

    php artisan make:seeder UsersTableSeeder
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
public function run()
{
    DB::table('users')->insert([
        'name' => 'John Doe',
        'email' => 'john@example.com',
        'password' => bcrypt('secret'),
    ]);
}
  1. Запуск сеялок:
    Чтобы запустить сеялки и заполнить базу данных исходными данными, вы можете использовать команду db:seedArtisan:
    php artisan db:seed

Это лишь некоторые методы и команды, связанные с миграцией Laravel. Эффективно используя их, вы сможете управлять схемой базы данных и синхронизировать ее с кодовой базой вашего приложения.