2017-10-11 171 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