在使用Capifony部署Symfony应用程序时,我在发出命令时更改阶段时遇到问题。我希望在部署时将我的数据库从生产推送到测试版。
这是我做这件事的尝试。下面是beta.rb文件:
set :deploy_to, "/var/www/#{domain}/deploy/beta"
after "deploy", "deploy:cleanup"
# Move database from production to beta and dev
# Set stage to production, move database to local
set :stage, "prod"
after "deploy", "database:move:to_local"
# Set stage back to beta, move database to remote beta
set :stage, "beta"
after "deploy", "database:move:to_remote"在过去,我使用capistrano和symfony <2在项目外部存储cap文件,并使用脚本处理类似的内容。现在项目中有了它,在项目中包含脚本就没有意义了。
当我执行这样的命令时,我可以动态地改变舞台吗?或者我应该创建一个任务来调用外部脚本?
谢谢!
发布于 2014-06-15 15:06:43
您可以使用DoctrineMigrationsBundle来实现这些目的。该捆绑包非常通用,具有整洁的控制台命令行界面,您只需将其构建到capifony脚本中即可。在symfony和它自己的参考文档中可以了解到:
http://symfony.com/doc/current/bundles/DoctrineMigrationsBundle/index.html
https://github.com/doctrine/DoctrineMigrationsBundle/blob/master/Resources/doc/index.rst
https://stackoverflow.com/questions/24224030
复制相似问题