How to rake db:drop and rake db:create on Heroku?

database, heroku, postgresql, rake

Solution

The `pg:reset` command will recreate the database for you. Example usage:

$ 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

The `db:reset` command would try to drop the database, which is not something that Heroku's permissions allow.

Problem

Possible Duplicate: How to empty DB in heroku I have a Postgres database on Heroku. It is one of the free beta ones. Locally, when testing, I often run rake db:drop && rake db:create && rake db:migrate as a way to reset the database. However, when I try to run this on Heroku, I get the error: ``` Couldn't drop mydatabaseid : #<PG::Error: FATAL: permission denied for database "postgres" DETAIL: User does not have CONNECT privilege. ``` Uh, ok, so how am I supposed to completely reset my database, migrations and everything?

Original source

Related problems