【发布时间】:2019-08-12 18:59:35
【问题描述】:
我正在尝试在生产模式下部署 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
有谁知道我如何在生产环境中禁用此警告,或者为什么 force 选项没有抑制此警告以便我可以运行迁移?
谢谢!
【问题讨论】:
-
你可以试试
php artisan migrate --pretend,回答“是”,看看建议的sql命令是否推出。然后至少您会知道是 laravel 中止还是您的数据库拒绝更改现有表。
标签: laravel-5 deployment migration production-environment