Duplicata possible:
Comment vider la base de données dans herok
J'ai une base de données Postgres sur Heroku. C'est l'une des versions bêta gratuites. Localement, lors des tests, je lance souvent rake db: drop rake db: create rake db: migrate pour réinitialiser la base de données.
Cependant, lorsque j'essaie d'exécuter cela sur Heroku, j'obtiens l'erreur:
Couldn't drop mydatabaseid : #<PG::Error: FATAL: permission denied for database "postgres"
DETAIL: User does not have CONNECT privilege.
Euh, ok, alors comment suis-je censé réinitialiser complètement ma base de données, les migrations et tout?
La commande pg:reset
Recréera la base de données pour vous. Exemple d'utilisation:
$ 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
La commande db:reset
Essaierait de supprimer la base de données, ce qui n'est pas quelque chose que les autorisations de Heroku autorisent.