我是否需要在Capistrano和我的database.yml上配置我的数据库服务器

时间:2010-11-16 19:40:01

标签: ruby-on-rails amazon-web-services capistrano

我使用Amazon RDS设置了一个数据库实例,并将我的Rails应用程序的生产环境指向database.yml文件。它看起来工作正常。什么是最好的检查方法?

在我的Capistrano配方中,我的数据库角色仍设置为我的app服务器。这只是针对capistrano任务正确吗?在Capistrano任务中,如果我在生产环境中迁移应用程序,它仍然应该正确地迁移我的RDS服务器吗?

run "rake db:migrate RAILS_ENV=production"

1 个答案:

答案 0 :(得分:3)

你的假设是正确的。 :db角色仅用于执行rake任务以运行迁移的位置。所以如果你有:

role :db,  "ourmachine.com", :primary => true

它将仅在主计算机上执行rake RAILS_ENV=production db:migrate命令。它在迁移任务期间使用database.yml作为服务器的位置。很多时候:db:app相同,因为它可以运行迁移。