0

私は最初のRailsアプリケーションを作成し、それは無料で:dev:データベースを持っていました。Craneデータベースに$50を支払い、devデータベースを削除しました。

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

基本的に、Railsアプリが使用するデフォルトのデータベースとしてCraneデータベースを宣伝する必要がありました。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

次に、promoteコマンドを実行しました。

heroku pg:promote HEROKU_POSTGRESQL_NAVY_URL

最後に、これが現在のデフォルトデータベースであるため、Craneデータベースに対して移行を実行できます。

heroku run rake db:migrate
于 2013-01-02T12:22:39.097 に答える