2017-10-11 210 views
1

我使用Laravel和我的日常部署的一部分,我有命令Laravel生產服務器上遷移

RUN php artisan migrate

由於我在生產的時候,我得到的錯誤

在生產中應用,命令取消!

修復很簡單:RUN php rankbot/artisan migrate --force但我覺得這不是正確的做法嗎?確保數據庫模式始終處於最新狀態的最佳方式是什麼?

+0

'--force'是做正確的方式。 '--force'標誌可防止您在生產環境中意外運行遷移。就像當你有2個ssh終端打開或者什麼的時候一樣。 –

回答

8

這是正確的做法。

在生產環境中運行遷移時,最好確定它將對數據庫執行什麼操作,因爲某些操作可能無法進行回滾。

確認提示有沒有讓你停下來並在可能造成傷害前三思。

某些遷移操作具有破壞性,這意味着它們可能會導致您丟失數據。爲了防止您針對生產數據庫運行這些命令 ,在執行命令之前,系統會提示您輸入 。要強制命令 到沒有提示符下運行,使用--force標誌

https://laravel.com/docs/5.5/migrations#running-migrations