在Heroku上的生产中建立外部数据库连接

我正在尝试建立与Heroku上的辅助外部数据库的连接(这是在AWS上运行的PostgreSQL数据库)。 我试图找到最简单和/或最好的方法来做到这一点。

我尝试使用Capistrano任务在部署到Heroku期间复制database.yml文件:

 after "deploy:update_code","deploy:config_symlink" namespace :deploy do task :config_symlink do run "cp #{shared_path}/shared/config/database.yml #{release_path}/config/database.yml" end end 

我尝试通过Heroku配置变量建立连接:

 class Pgdb  ENV['PG_ADAPTER'], :database => ENV['PG_DB'], :username => ENV['PG_USER'], :password => ENV['PG_PW'], :host => ENV['PG_HOST'] ) self.abstract_class = true self.table_name = 'test' def self.getCardInfo(card_name) get = connection.query("SELECT * FROM test) get end end 

我找不到任何有意义的文档或告诉我如何做到这一点。 我不知道在上述尝试中我是否接近或离开了。 我正在寻找解决上述尝试或任何其他解决方案的解决方案。

您可以使用以下格式更改heroku configdatabase_url

 postgres://:@:/ 

例如:

 heroku config:set DATABASE_URL=postgres://myusername:mypassword@111.111.111.11:5542/myproject_production 

只需确保防火墙允许外部连接到RDS。