Laravel 8 將於今年稍後發布一個新的 schema:dump
指令。此命令對現有項目非常有用,因為它刪除了不再需要的舊遷移並加快了測試和 CI process。 Taylor Otwell 在他的pull request 中解釋了此功能:
此PR增加了
php artisan schema:dump 指令,該指令使用mysqldump 或pgdump 將schema 的目前狀態轉儲到database/schema/{connection}-schema.mysql 檔案中。
php artisan migration或
php artisan migration:fresh
已執行且尚未對資料庫z執行任何遷移(遷移表為空)時,此架構檔案將首先載入到資料庫中,然後所有未完成的遷移將執行。這意味著該 schema 檔案通常僅在本地開發或 CI 測試期間有效使用。在生產中,您通常已經具有過去運行的遷移,因此永遠不會觸發此 schema 檔案。此功能解決了兩個問題:
執行
schema:dump且專案中存在 schema 轉儲檔案後,您可以刪除已將其移轉到生產環境的舊移轉檔案。
1、它將清除 schema 資料夾中的舊遷移文件,這些文件在舊專案中可能會很大。 2、由於有了 schema 文件,測試的運行速度要快得多,並且 Laravel不 需要在測試過程中執行所有遷移。
該指令在您的專案中將如下所示:
php artisan schema:dump # 自动清理旧迁移文件 php artisan schema:dump --prune # 指定数据库链接 php artisan schema:dump --database=pgsql
此功能已合併到
master分支中,這表示它將在Laravel 8 中可用。要了解有關此功能的更多信息,最好的途徑是
8.x Schema Dump。
原文網址:https://laravel-news.com/schema-dump
#翻譯網址:https://learnku.com/laravel/t/43497
以上是【Laravel 8新功能】使用schema:dump來加速Migration和測試的詳細內容。更多資訊請關注PHP中文網其他相關文章!