Laravel 5 生产迁移 -- 无法禁用迁移警告

Laravel 5 Production Migrations -- Unable to Disable Migration Warning

我正在尝试在生产模式下部署 Laravel 网站。该网站目前已部署,但我添加了一个数据库和一些迁移以及种子,但迁移部署失败。

日志显示迁移失败,因为生产模式会出现

提示
Migrating the database tables into your application
**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > 

  Aborted  

我尝试通过将 "yes" 管道传输到我的部署脚本中的迁移命令来解决这个问题,但它没有用。大概我可以将模式更改为非生产模式,但我认为这不是一个合适的解决方法。我还尝试使用“--force”标志进行迁移,但它并没有阻止警告。

部署脚本

cd /home/forge/default
git pull origin master
npm install --save-dev cross-env
npm install
composer require nesbot/carbon:1.26.3
composer require tcg/voyager
composer install --no-interaction --prefer-dist --optimize-autoloader
npm run development
echo "" | sudo -S service php7.2-fpm reload

if [ -f artisan ]
then
    php artisan config:cache
    php artisan voyager:install
    php artisan migrate --force
    php artisan db:seed --class=CategoriesTableSeeder --force
    php artisan db:seed --class=UsersTable --force
    php artisan db:seed --class=BlogPostsTableSeeder --force
fi

有谁知道我如何在生产中禁用此警告或为什么强制选项不抑制此警告以便我可以 运行 迁移?

谢谢!

您也可以尝试使用 --no-interaction 标志,但看起来您所拥有的 (--force) 是正确的。您确定没有其他 运行 迁移您的迁移,例如 voyager:install auto-运行 迁移,或 post-install composer 中的脚本?

也很感兴趣,为什么要在 Forge 部署脚本中安装包。它们应该包含在 package.lockcomposer.lock 文件的 repo 中,因此您只需要 运行 install