![](/img/trans.png)
[英]Rails - existing development Postgres database on local machine to Heroku
[英]Can't connect existing postgres database on heroku via rails
所以基本上,它可以在我的本地主機上運行,但是當我在終端中執行以下命令行時。
heroku run rake db:migrate
我收到以下錯誤消息。
PG::ConnectionBad: could not connect to server: Connection timed out
Is the server running on host "XX.XX.XX.XX" and accepting
TCP/IP connections on port XXXX?
這是我在我的一個控制器上使用的索引方法
def index
sql = "Select * from api.customer"
@examples = ActiveRecord::Base.connection.execute(sql)
render json: @examples
end
database.yml文件development: adapter: postgresql encoding: utf8 url: <%= ENV['DATABASE_URL'] %> pool: 10
production: adapter: postgresql encoding: utf8 url: <%= ENV['DATABASE_URL'] %> pool: 10
我在database.yml文件中包含了數據庫信息(主機,端口,數據庫名稱,用戶名,密碼)。 關於數據庫信息的一切都是正確的,因為我在詢問之前進行了多次檢查。 我的主機是ip地址的格式。 我還用pgadmin 3檢查了數據庫,並且服務器配置(pg_hba.conf和postgresql.conf)對所有IP地址都是開放的。 (0.0.0.0/0 md5並收聽“ *”)請告知操作方法。
謝謝!
在Rails中, DATABASE_URL
ENV var優先於在database.yml
輸入的任何值。
Heroku通過DATABASE_URL
ENV var設置Rails數據庫(Heroku使用術語config vars完全相同)。 當buildpack在附加postgres插件后檢測到您正在部署Rails應用程序時,它將自動執行此操作。
要連接到另一個數據庫,您需要更改DATABASE_URL
:
heroku config:set DATABASE_URL=postgresql://xxx.xxx.xxx/myapp
看到:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.