在本地使用psql登录Heroku Postgres数据库比较清晰: https://devcenter.heroku.com/articles/heroku-postgresql#external-connections-ingress
但是,如何设置database.yml以便本地Rails实例与Heroku数据库通信呢?
在本地使用psql登录Heroku Postgres数据库比较清晰: https://devcenter.heroku.com/articles/heroku-postgresql#external-connections-ingress
但是,如何设置database.yml以便本地Rails实例与Heroku数据库通信呢?
尝试像这样做
production:
adapter: postgresql
encoding: utf8
database: DB_NAME_FROM_HEROKU
username: USERNAME_FROM_HEROKU
password: PASSWORD_FROM_HEROKU
host: HOSTNAME_FROM_HEROKU # something like ec2-xxx-xx-xxx-xxxx.compute-1.amazonaws.com
sslmode: require
要获取这些值,您需要运行以下命令
$ heroku pg:credentials:url
然后在生产环境中启动您的应用程序
$ rails s -e production
由于数据库托管在互联网上,因此在本地计算机连接到云中的数据库时,预计会出现许多延迟和缺乏响应。
备注: 确保本地应用程序的模式版本与Heroku上的远程数据库完全匹配。否则,在运行迁移时可能会发生数据丢失