我們的rails應用程序(3.2.12)有兩個數據庫,一個內容數據庫和一個用戶數據庫。如何覆蓋deploy:migrate(rakefile here),以便在兩個目標數據庫的「cap production deploy:cold」遷移過程中相應地運行。如何覆蓋Capistrano的部署:migrate
本質上講,它應該這樣做在部署
** transaction: commit
* 2013-10-16 02:26:15 executing `deploy:migrate'
* executing "cd /home/deployer/apps/project/releases/20131015152439 && bundle exec rake RAILS_ENV=production db:migrate"
* executing "cd /home/deployer/apps/project/releases/20131015152439 && bundle exec rake RAILS_ENV=production user:db:migrate"
任何幫助將非常感激。
編輯:我的確在部署命名空間
namespace :deploy do
set :migration_role, fetch(:migration_role, :db)
task :migrate do
on primary fetch(:migration_role) do
within release_path do
with rails_env: fetch(:rails_env) do
execute :rake, "db:migrate"
execute :rake, "user:db:migrate"
end
end
end
end
after 'deploy:updated', 'deploy:migrate'
end
這將引發錯誤與我自己的任務替換任務「未定義的方法`主'」。
您可以a)用您自己的任務替換任務b)在該任務之前或之後添加其他任務 – phoet