可能性のある複製:
herokuでDBを空にする方法
HerokuにPostgresデータベースがあります。無料のベータ版の1つです。ローカルでは、テスト時に、データベースをリセットする方法としてrake db:drop && rake db:create && rake db:migrateを実行することがよくあります。
ただし、Herokuでこれを実行しようとすると、次のエラーが表示されます。
Couldn't drop mydatabaseid : #<PG::Error: FATAL: permission denied for database "postgres"
DETAIL: User does not have CONNECT privilege.
ええと、それでは、データベース、移行、およびすべてを完全にリセットする方法を教えてください。
pg:reset
コマンドは、データベースを再作成します。使用例:
$ heroku config | grep POSTGRESQL
HEROKU_POSTGRESQL_RED_URL: postgres://somedatabaseurl
$ heroku pg:reset HEROKU_POSTGRESQL_RED_URL
! WARNING: Destructive Action
! This command will affect the app: myappname
! To proceed, type "myappname" or re-run this command with --confirm
> myappname
Resetting HEROKU_POSTGRESQL_RED_URL (DATABASE_URL)... done
db:reset
コマンドはデータベースを削除しようとしますが、これはHerokuの許可では許可されていません。