Миграции Laravel — важный инструмент управления изменениями схемы базы данных в приложениях Laravel. Они предоставляют удобный способ изменить структуру базы данных с помощью кода вместо ручных сценариев SQL. В этой статье мы рассмотрим различные методы миграции Laravel, а также приведем примеры кода, которые помогут вам понять и эффективно их реализовать.
Метод 1: создание миграции
Чтобы создать новую миграцию, вы можете использовать команду make:migration
Artisan. Допустим, мы хотим создать таблицу «Пользователи» со столбцами для имени и электронной почты. Вот пример файла миграции:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateUsersTable extends Migration
{
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('users');
}
}
Метод 2: выполнение миграции
После того как вы создали миграцию, вы можете запустить ее с помощью команды migrate
Artisan. Эта команда выполнит все ожидающие миграции. Запустите следующую команду в своем терминале:
php artisan migrate
Метод 3. Откат миграции
Чтобы откатить последний пакет миграций, вы можете использовать команду migrate:rollback
Artisan. Эта команда отменит последний набор выполненных миграций. Запустите следующую команду в своем терминале:
php artisan migrate:rollback
Метод 4. Переход на конкретную версию
Если вы хотите перенести базу данных на определенную версию, вы можете использовать команду migrate
Artisan с опцией --to
. Например, если вы хотите перейти на версию 20220101000000, выполните следующую команду:
php artisan migrate --to=20220101000000
Метод 5: обновление базы данных
Чтобы откатить все миграции и запустить их повторно, вы можете использовать команду migrate:refresh
Artisan. Эта команда полезна, если вы хотите начать миграцию заново. Запустите следующую команду в своем терминале:
php artisan migrate:refresh
Метод 6. Заполнение базы данных после миграции
Laravel предоставляет удобный способ заполнить вашу базу данных образцами данных после выполнения миграции. Вы можете создать сеялку с помощью команды make:seeder
Artisan, а затем запустить ее с помощью команды db:seed
Artisan. Вот пример:
<?php
use Illuminate\Database\Seeder;
use App\Models\User;
class UserSeeder extends Seeder
{
public function run()
{
User::factory()->count(10)->create();
}
}
Чтобы запустить разбрасыватель, используйте следующую команду:
php artisan db:seed --class=UserSeeder
Миграции Laravel упрощают процесс управления изменениями базы данных в приложениях Laravel. В этой статье мы рассмотрели несколько методов, включая создание миграции, выполнение миграции, откат миграции, переход на определенную версию, обновление базы данных и заполнение базы данных после миграции. Используя эти методы, вы можете легко управлять схемой базы данных и синхронизировать ее с меняющимися требованиями вашего приложения.