我有一个简单的问题。部署时我的应用程序无法在生产环境中启动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
答案 0 :(得分:1)
我不确定我是否理解你的问题......
已经有一个deploy:migrate
任务被定义为capistrano的一部分,您只需要在deploy.rb
中添加一个钩子,它就会运行。关于这样做,请参见this answer for details。
您不应该需要上面定义的代码,但如果您这样做,请注意您没有定义deploy:migrate
,而是定义db:migrate
。