33

実行しようとすると:

heroku run rake db:drop db:create db:migrate

エラーが発生します:

Running rake db:drop attached to terminal... up, run.5
Couldn't drop adsfsadfas : #<ActiveRecord::StatementInvalid: PGError: ERROR:  must be owner of database adsfsadfas
: DROP DATABASE IF EXISTS "adsfsadfas">

私は Heroku Cedar スタックにいます。データベースを Heroku にドロップすることはできますか?

ありがとう!

ジョン

4

2 に答える 2

51

rake db:reset タスクはサポートされていません。Heroku アプリには、データベースをドロップして作成する権限がありません。heroku pg:reset代わりにコマンドを使用してください。

于 2011-11-17T05:13:04.967 に答える
13

heroku では、直接破壊的なコマンド ( dropおよびcreate ) は許可されていません。ただし、すべてのデータが失われても問題ない場合は、 でデータベースをリセットできますpg:reset

heroku pg:reset DATABASE_URL

他のすべての変更は で行う必要がありますdb:migrate。これにより、データベースの状態の一貫性が保証されます。


移行がスタック全体で実行されなくなった場合は、db:schema:load. これにより、スキーマがschema.rbから直接ロードされます。create_tableただし、パラメータforce: trueまたはを使用する場合、これは破壊的になる可能性があることに注意してくださいforce: :cascade

heroku run rake db:schema:load
于 2015-06-05T08:59:10.370 に答える