PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

heroku esegui rake db:errore di migrazione

Sembra che sia vero quanto segue:

  • 20120525005302_create_users.rb tenterà di creare un users tabella nel database.
  • 20120611000411_devise_create_users.rb tenterà anche di creare un users tabella nel database.
  • Il tuo database ha già un users tabella al suo interno, quindi la migrazione non riesce alla seconda migrazione.

Per ottenere gli users tabella nel database in modo che corrisponda correttamente a 20120611000411_devise_create_users.rb migrazione, puoi fare una di queste due cose:

  1. Ripristina (o elimina) il database, quindi esegui di nuovo le migrazioni. (Puoi eliminare il 20120525005302_create_users.rb se è vuoto.)
  2. Modifica il tuo 20120611000411_devise_create_users.rb migrazione per eliminare tutti gli users esistenti tabella prima di fare qualsiasi altra cosa.
  3. Modifica il tuo 20120611000411_devise_create_users.rb migrazione come segue:
    • Invece di creare un users tabella, modifica la tabella esistente.
    • Aggiungi e modifica i componenti del database in modo che corrispondano

In genere, se l'applicazione è in uno "stato iniziale", la ricreazione del database tende a essere un modo rapido per creare la struttura iniziale di un'applicazione. Tuttavia, se hai già dati importanti nei tuoi users tabella, ti consigliamo di conservarla e procedere modificando il 20120611000411_devise_create_users.rb migrazione per modificare il database in modo non distruttivo.

Riferimenti