如何为使用capistrano和乘客部署的rails应用程序设置生产环境

时间:2013-12-06 18:49:45

标签: ruby-on-rails capistrano

似乎无法在这里找到任何确定的内容。当我'部署'我的应用程序时,我正在推送我的文件。但是,数据库未迁移。如果我手动转到/ myapp / current并运行'rake db:migrate'(我应该这样做吗?)它会创建db / development.sqlite,这会让我相信我的环境设置为dev。我尝试在我的delopy.rb文件中设置set:deploy_env,“production”和set:rails_env,“production”,没有任何更改。任何帮助表示赞赏。

PS 如果我可以将迁移添加为部署的一部分,而不是必须手动执行它,那将会很好。

3 个答案:

答案 0 :(得分:2)

假设capistrano 2.x尝试cap deploy:migrations部署和迁移数据库。 您还可以使用cap deploy:migrate在最近部署的应用程序中运行迁移。 请查看capistrano wiki了解更多详情:https://github.com/capistrano/capistrano/wiki/Capistrano-Tasks

答案 1 :(得分:1)

使用cap db:migrate以使用Capistrano运行迁移。就环境而言,Multistage Extension可能真的很有帮助。

答案 2 :(得分:0)

也许你的Capfile中缺少require 'capistrano/rails/migrations'