Новая команда schema: dump
будет выпущена вместе с Laravel 8 в конце этого года. Эта команда полезна для существующих проектов, потому что она удаляет старые миграции, которые вам больше не нужны, и ускоряет процесс тестирования и CI. Тейлор Отвелл объясняет эту особенность в своем запросе на извлечение:
Этот PR добавляет поддержку новой командыphp artisan schema: dump
, которая использует mysqldump или pgdump для выгрузки текущего состояния вашей схемы в файл database / schema / {connection} -schema.mysql.
Если этот файл существует, и php artisan migrate или php artisan migrate: fresh is run и миграции еще не выполнялись для базы данных (таблица миграции пуста), этот файл схемы сначала будет загружен в базу данных, а затем все оставшиеся миграции будут быть запущенным Это означает, что эффективно этот файл схемы обычно используется только во время локальной разработки или во время тестирования CI. В продакшене вы, как правило, уже выполняли миграции, которые выполнялись в прошлом, поэтому этот файл схемы никогда не будет запущен.
После запуска schema: dump и файл дампа схемы существует в проекте, вы можете удалить старые миграции, которые сделали его рабочим.
Эта функция решает две проблемы:
- Она очищает старые миграции в папке схемы, которая может быть довольно большой в старых проектах.
- Тесты выполняются намного быстрее из-за файла схемы, и Laravel не нужно выполнять все миграции во время тестирования.
Команда будет выглядеть так в вашем проекте:
php artisan schema:dump
# Automatically clean up old files
php artisan schema:dump --prune
# Specify the connection name
php artisan schema:dump --database=pgsql
Эта функция была объединена с master, что означает, что она будет доступна в Laravel 8.