【Laravel 8新功能】使用schema:dump來加速Migration和測試

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

下面由laravel教程欄目給大家介紹Laravel 8新功能:使用schema:dump來加速Migration和測試,希望對需要的朋友有所幫助!

【Laravel 8新功能】使用schema:dump來加速Migration和測試

laravel 8 將于今年晚些時候發(fā)布一個新的 schema:dump 命令。 此命令對現(xiàn)有項目非常有用,因為它刪除了不再需要的舊遷移并加快了測試和 ci process。 taylor otwell 在他的 Laravel 中解釋了此功能:

此PR增加了 php artisan schema:dump 命令,該命令使用 mysqldump 或 pgdump 將 schema 的當前狀態(tài)轉(zhuǎn)儲到 database/schema/{connection}-schema.mysql 文件中。當此文件存在并且 php artisan migration 或 php artisan migration:fresh 已運行并且尚未對數(shù)據(jù)庫z執(zhí)行任何遷移(遷移表為空)時,此架構(gòu)文件將首先加載到數(shù)據(jù)庫中,然后所有未完成的遷移將執(zhí)行。 這意味著該 schema 文件通常僅在本地開發(fā)或 CI 測試期間有效使用。 在生產(chǎn)中,您通常已經(jīng)具有過去運行的遷移,因此永遠不會觸發(fā)此 schema 文件。

運行 schema:dump 并且項目中存在 schema 轉(zhuǎn)儲文件后,您可以刪除已將其遷移到生產(chǎn)環(huán)境的舊遷移文件。

此功能解決了兩個問題:

1、它將清除 schema 文件夾中的舊遷移文件,這些文件在舊項目中可能會很大。

2、由于有了 schema 文件,測試的運行速度要快得多,并且 Laravel不 需要在測試過程中執(zhí)行所有遷移。

該命令在您的項目中將如下所示:

php?artisan?schema:dump  #?自動清理舊遷移文件 php?artisan?schema:dump?--prune  #?指定數(shù)據(jù)庫鏈接 php?artisan?schema:dump?--database=pgsql

此功能已合并到 master 分支中,這意味著它將在 Laravel 8 中可用。要了解有關(guān)此功能的更多信息,最好的途徑是 Laravel?。

原文地址:https://laravel-news.com/schema-dump

譯文地址:https://learnku.com/laravel/t/43497

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊5 分享