部署时无迁移

时间:2012-06-26 08:18:14

标签: ruby-on-rails-3 deployment capistrano

我有一个简单的问题。部署时我的应用程序无法在生产环境中启动rake db:migrate。我没有创建deploy.rb我已经准备好了。 deploy.rb正在运行,但命令'deploy:migrate'不起作用。我不知道,如何正确地提出这个问题。但我认为这个问题与:role有关。也许rake db:migrate需要描述一下?像这样:

namespace :db do

  desc "Rake migration"
    task :migrate, :roles => :db do
      run "cd #{current_path} && #{rake} RAILS_ENV=production db:migrate"
    end
  end

end

1 个答案:

答案 0 :(得分:1)

我不确定我是否理解你的问题......

已经有一个deploy:migrate任务被定义为capistrano的一部分,您只需要在deploy.rb中添加一个钩子,它就会运行。关于这样做,请参见this answer for details

您不应该需要上面定义的代码,但如果您这样做,请注意您没有定义deploy:migrate,而是定义db:migrate