Команда migrate:fresh
Команда migrate:fresh полностью очищает базу данных, удаляя все таблицы, и затем выполняет все миграции заново. В отличие от migrate:refresh, эта команда не использует откат миграций, а просто удаляет все таблицы и запускает миграции с нуля. Это делает её более быстрой и надёжной, особенно при работе с большим количеством миграций. Команда принимает необязательные параметры: --seed для заполнения базы данных начальными данными, --database для указания соединения с базой данных, и --force для выполнения команды без подтверждения в production-окружении.
Синтаксис
php artisan migrate:fresh
Пример
Базовое использование команды для пересоздания всех таблиц:
php artisan migrate:fresh
Результат выполнения команды:
"Dropped all tables successfully."
"Migration table created successfully."
"Migrating: 2024_01_01_000000_create_users_table"
"Migrated: 2024_01_01_000000_create_users_table"
"Migrating: 2024_01_01_000001_create_posts_table"
"Migrated: 2024_01_01_000001_create_posts_table"
Пример
Использование команды с заполнением базы данных начальными данными:
php artisan migrate:fresh --seed
Результат выполнения команды:
"Dropped all tables successfully."
"Migration table created successfully."
"Migrating: 2024_01_01_000000_create_users_table"
"Migrated: 2024_01_01_000000_create_users_table"
"Migrating: 2024_01_01_000001_create_posts_table"
"Migrated: 2024_01_01_000001_create_posts_table"
"Database seeding completed successfully."
Пример
Указание конкретного соединения с базой данных:
php artisan migrate:fresh --database=pgsql
Результат выполнения команды:
"Dropped all tables successfully."
"Migration table created successfully."
"Migrating: 2024_01_01_000000_create_users_table"
"Migrated: 2024_01_01_000000_create_users_table"
Пример
Принудительное выполнение команды без подтверждения:
php artisan migrate:fresh --force
Результат выполнения команды:
"All tables dropped."
"All migrations executed."
Смотрите также
-
команда
migrate,
которая выполняет все новые миграции -
команда
migrate:rollback,
которая откатывает последнюю партию миграций -
команда
migrate:status,
которая показывает статус каждой миграции -
команда
db:seed,
которая заполняет базу данных начальными данными