実行しようとすると:
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でデータベースを削除することはできますか?
ありがとう!
ジョン
Rake db:resetタスクはサポートされていません。 Herokuアプリには、データベースを削除および作成する権限がありません。使用
heroku pg:reset
コマンドの代わりに。
直接破壊的なコマンド(dropおよびcreate)はherokuでは許可されていません。ただし、すべてのデータを失うことに問題がなければ、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