Генерация миграций
Чтобы сгенерировать новую миграцию базы данных, используйте команду make:migration Artisan
. Эта команда поместит новый класс миграции в каталог database/migrations
вашего приложения. Каждое имя файла миграции содержит временную метку, которая позволяет Laravel определять порядок применения миграций:
php artisan make:migration create_flights_table
Laravel будет использовать имя миграции, чтобы попытаться угадать имя таблицы и будет ли миграция создавать новую таблицу. Если Laravel может определить имя таблицы по имени миграции, то сгенерированный файл миграции будет предварительно заполнен указанной таблицей. В противном случае вы можете просто вручную указать таблицу в файле миграции.
Если вы хотите указать собственный путь для сгенерированной миграции, вы можете использовать параметр –path при выполнении команды make:migration
. Указанный путь должен быть относительно базового пути вашего приложения.
Сжатие миграций
По мере создания приложения вы можете со временем накапливать все больше и больше миграций. Это может привести к тому, что ваш каталог database/migrations
станет раздутым из-за потенциально сотен миграций. Если хотите, то можете «сжать» свои миграции в один файл SQL. Для начала выполните команду schema:dump
:
php artisan schema:dump
// Выгрузить текущую схему БД и удалить все существующие миграции ...
php artisan schema:dump --prune
В результате выполнения этой команды Laravel запишет дамп базы данных в каталог database/schema вашего приложения. Теперь, при запуске миграции базы данных, Laravel сначала выполнит SQL-операторы дампа (если никакие другие миграции не выполнялись). Затем Laravel выполнит все оставшиеся миграции, которые не были включены в дамп схемы БД.
Вы должны передать файл схемы базы данных в систему управления версиями, чтобы другие разработчики вашей команды могли быстро воссоздать исходную структуру базы данных вашего приложения.