Команда migrate:refresh
Команда migrate:refresh выполняет откат всех применённых
миграций, а затем запускает их заново. Это полезно при разработке,
когда требуется перестроить структуру базы данных с нуля.
В отличие от migrate:fresh, данная команда не удаляет
таблицы, а использует механизм отката через классы миграций.
По умолчанию команда также запускает наполнители базы данных
(seeders), если они определены.
Синтаксис
php artisan migrate:refresh {--database= : Имя соединения с БД}
{--force : Принудительное выполнение в продакшене}
{--path= : Путь к миграциям}
{--realpath : Указать абсолютный путь}
{--seed : Запустить наполнители}
{--seeder= : Класс наполнителя}
{--step= : Количество шагов отката}
Пример
Выполним полное обновление базы данных с запуском наполнителей:
php artisan migrate:refresh --seed
Результат выполнения команды:
Rolling back: 2024_01_01_000000_create_users_table
Rolling back: 2024_01_02_000000_create_posts_table
Migrating: 2024_01_01_000000_create_users_table
Migrated: 2024_01_01_000000_create_users_table
Migrating: 2024_01_02_000000_create_posts_table
Migrated: 2024_01_02_000000_create_posts_table
Database seeding completed successfully.
Пример
Выполним обновление только последней миграции:
php artisan migrate:refresh --step=1
Результат выполнения команды:
Rolling back: 2024_01_02_000000_create_posts_table
Migrating: 2024_01_02_000000_create_posts_table
Migrated: 2024_01_02_000000_create_posts_table
Пример
Выполним обновление с указанием конкретного наполнителя:
php artisan migrate:refresh --seed --seeder=PostsTableSeeder
Результат выполнения команды:
Rolling back all migrations.
Migrating all migrations.
Seeding: PostsTableSeeder
Database seeding completed successfully.
Пример
Выполним обновление только миграций из указанной директории:
php artisan migrate:refresh --path=database/migrations/custom
Результат выполнения команды:
Rolling back: 2024_01_03_000000_create_custom_table
Migrating: 2024_01_03_000000_create_custom_table
Migrated: 2024_01_03_000000_create_custom_table
Смотрите также
-
команда
migrate,
которая выполняет новые миграции -
команда
migrate:rollback,
которая откатывает последнюю партию миграций -
команда
migrate:fresh,
которая удаляет таблицы и создаёт их заново -
команда
db:seed,
которая запускает наполнители базы данных