web-dev-qa-db-ja.com

Herokuでdb:dropおよびrake db:createをrakeする方法は?

可能性のある複製:
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.

ええと、それでは、データベース、移行、およびすべてを完全にリセットする方法を教えてください。

43
Geoff

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の許可では許可されていません。

86
Neil Middleton