0

我创建了我的第一个 Rails 应用程序,它有一个免费的 :dev: 数据库。我花了 50 美元购买了一个 Crane 数据库并删除了我的开发数据库。

运行heroku pg命令:

=== HEROKU_POSTGRESQL_NAVY_URL
Plan:        Crane
Status:      available
Data Size:   5.9 MB
Tables:      0
PG Version:  9.1.6
Connections: 3
Fork/Follow: Available
Created:     2012-12-17 21:46 UTC
Maintenance: not required

奇怪的是,如果我运行heroku run rake db:migrate它运行良好,但heroku pg 显示 0 表计数,并且应用程序本身的数据显示我的 :dev: 数据库中的旧数据。

有什么建议么?我怎么能告诉 Heroku,Please use this database as the default from now on?

此外,如果heroku pg只显示 1 个数据库,并且该数据库有零个表,我的应用程序从哪里获取它当前显示的数据?

4

1 回答 1

1

基本上,我不得不将我的 Crane 数据库推广为我的 Rails 应用程序将使用的默认数据库。Heroku 上的 Rails 应用程序使用名为DATABASE_URL.

所以首先,我运行这个命令来获取我需要提升的数据库的名称:

heroku pg

=== HEROKU_POSTGRESQL_NAVY_URL
Plan:        Crane
Status:      available
Data Size:   5.9 MB
Tables:      0
PG Version:  9.1.6
Connections: 3
Fork/Follow: Available
Created:     2012-12-17 21:46 UTC
Maintenance: not required

然后我运行了提升命令:

heroku pg:promote HEROKU_POSTGRESQL_NAVY_URL

最后,由于这是现在的默认数据库,我可以对我的 Crane 数据库运行迁移:

heroku run rake db:migrate
于 2013-01-02T12:22:39.097 回答