我正在尝试建立与Heroku上的辅助外部数据库的连接(这是在AWS上运行的PostgreSQL数据库)。我试图找到最简单和/或最好的方法来做到这一点。
我尝试使用Capistrano任务在部署期间将database.yml
文件复制到Heroku:
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 < ActiveRecord::Base.establish_connection(
:adapter => 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
我找不到任何有意义的文档或告诉我如何做到这一点。我不知道在上述尝试中我是否接近或离线。我正在寻找解决上述尝试或解决此问题的任何其他解决方案的任何解决方案。
答案 0 :(得分:1)
您可以使用以下格式更改database_url
的{{1}}:
heroku config
例如:
postgres://<user>:<password>@<server>:<port>/<db_name>
只需确保防火墙允许外部连接到RDS。