2012-06-26 145 views
0

我有一個簡單的問題。我在部署的應用程序不會在生產環境中啓動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

我不知道如果我理解你的問題......

已經有一個定義爲Capistrano的,一部分的deploy:migrate任務,你只需要添加一個鉤在你的deploy.rb,它會運行。請參閱this answer for details

你不應該需要你上面定義的代碼,但如果你這樣做,那麼請注意,你沒有定義deploy:migrate你正在定義db:migrate