当我在Heroku中访问我的应用程序并检查资源时,我可以看到Postgresql
但是当我从电脑上运行时:pg:info我得到以下内容:
$ heroku pg:info
! Resource not found
或者这个:
$ heroku pg:wait
! Resource not found
虽然当我运行pg:credential时,我确实得到了一个输出:
$ heroku pg:credentials HEROKU_POSTGRESQL_PINK
Connection info string:
"dbname=some_name host=ec2-107-22-165-15.compute-1.amazonaws.com port=5432 user=some_user password=some_password sslmode=require"
我尝试过运行heroku run rake db:migrate
,heroku run db:reset
但都失败了。
我得到了错误:
could not connect to server: Connection refused
Is the server running on host "localhost" and accepting
TCP/IP connections on port 5432?
通过heroku网站进入设置,我可以看到以下内容:
Connection Settings : Default
Host ec2-107-22-165-15.compute-1.amazonaws.com
Database some_databasename
User some_user
Port 5432
Password some_password
Statistics
Plan Dev
Status available
Data Size 5.9 MB
Tables 0
PG Version 9.1.8
Created March 27, 2013 18:01
heroku config
设置了DATABASE_URL和HEROKU_POSTGRESQL_PINK_URL。
我已删除了production
database.yml
部分,因为我了解Heroku创建了自己的database.yml
我刚迁移到ruby 2.0和rails 4.0
我该如何连接数据库?我以为这应该是自动的。感谢
答案 0 :(得分:2)
通过降级Rails和Ruby来解决这个问题:(
现在我使用rails 3.1.0和ruby 1.9.3
答案 1 :(得分:0)
似乎问题是过时的heroku toolbelt版本。我使用的是v2.19.2。
不推荐通过ruby gems安装heroku工具带,最好的办法是卸载heroku gem $ gem uninstall heroku
并重新安装工具带,这取决于您的平台:https://toolbelt.heroku.com/