Heroku PostgreSQL未找到。

3
当我进入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:migrateheroku 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。

我删除了database.yml中的production部分,因为我知道Heroku会创建自己的database.yml

我刚刚迁移到了ruby 2.0和rails 4.0

我该如何连接数据库?我以为这应该是自动的。谢谢。

2个回答

2

我通过降级Rails和Ruby解决了这个问题 :(

现在我正在使用Rails 3.1.0和Ruby 1.9.3


请在您的应用程序中删除“localhost”连接 :) - catsby
@catsby,你是说要移除本地主机连接吗?那个人在 database.yml 文件中移除了生产环境的条目。 - Macario
一个Heroku Postgres数据库不是在Heroku上的"localhost",而是在$DATABASE_URL上。该应用程序试图连接到本地主机。 - catsby

0

看起来问题出在过时的Heroku工具包版本上。我使用的是v2.19.2。

通过Ruby Gems安装Heroku工具包已被弃用,最好的方法是卸载Heroku Gem $ gem uninstall heroku,然后以首选方式重新安装工具包,具体取决于您的平台:https://toolbelt.heroku.com/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接