2012-06-12 20 views
39

Possible Duplicate:
How to empty DB in herokuCome rake db: drop e rake db: create su Heroku?

Ho un database Postgres su Heroku. È uno dei beta liberi. A livello locale, durante il test, eseguo spesso rake db: drop & & rake db: creare & & rake db: migrare come metodo per reimpostare il database.

Tuttavia, quando provo a fare funzionare questo su Heroku, ottengo l'errore:

Couldn't drop mydatabaseid : #<PG::Error: FATAL: permission denied for database "postgres" 
    DETAIL: User does not have CONNECT privilege. 

Uh, ok, così come faccio a resettare completamente il mio database, migrazioni e tutto?

risposta

80

Il comando pg:reset ricrea il database per voi. Esempio di utilizzo:

$ 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 

Il comando db:reset avrebbe cercato di eliminare il database, che non è qualcosa che le autorizzazioni di Heroku permettono.

+0

Grande! ... dove l'hai trovato? Ho letto i loro documenti qui: https://devcenter.heroku.com/articles/heroku-postgresql – Geoff

+4

Nel mio cervello da qualche parte - nessuna idea di dove. –

+3

Ecco la documentazione di Heroku: https://devcenter.heroku.com/articles/rake – weston

Problemi correlati