45

重複の可能性:
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.

ええと、では、データベース、移行、およびすべてを完全にリセットするにはどうすればよいでしょうか?

4

1 に答える 1

89

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

于 2012-06-12T12:11:30.143 に答える