在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 config
的database_url
:
postgres://:@:/
例如:
heroku config:set DATABASE_URL=postgres://myusername:mypassword@111.111.111.11:5542/myproject_production
只需确保防火墙允许外部连接到RDS。
- capistrano顺序重启
- Capistrano抛出/ usr / bin / env:ruby:执行deploy:migration时没有这样的文件或目录
- Capistrano 3 + Sprockets 3 + Rails 4.2.1不会部署?
- Capistrano,防火墙和隧道
- Capistrano 3 SSHKit :: Runner :: ExecuteError:在host 代理上执行时发生exception无法使用请求的身份对数据进行签名
- 从capistrano任务中调用多级capistrano任务
- Capistrano 3:在任务中使用服务器自定义变量
- 使用批处理脚本在Windows上启动瘦服务器的多个实例
- main:Object的未定义方法`run’