我正在尝试在生产模式下部署一个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“标志进行迁移,但这并没有阻止警告。
deploy script
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
有谁知道如何在生产环境中禁用此警告,或者为什么force选项没有取消此警告,以便我可以运行迁移?
谢谢!
发布于 2019-03-22 04:26:59
您也可以尝试使用--no-interaction
标志,但是看起来您所拥有的(--force
)是正确的。您确定没有其他东西在运行您的迁移吗?例如,voyager:install
是否会自动运行迁移,或者composer中的post-install
脚本?
我也很感兴趣,为什么要在Forge部署脚本中安装包。它们应该包含在package.lock
或composer.lock
文件的存储库中,因此您只需运行install
即可。
https://stackoverflow.com/questions/55288621
复制相似问题