Sembra che sia vero quanto segue:
20120525005302_create_users.rbtenterà di creare unuserstabella nel database.20120611000411_devise_create_users.rbtenterà anche di creare unuserstabella nel database.- Il tuo database ha già un
userstabella 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:
- Ripristina (o elimina) il database, quindi esegui di nuovo le migrazioni. (Puoi eliminare il
20120525005302_create_users.rbse è vuoto.) - Modifica il tuo
20120611000411_devise_create_users.rbmigrazione per eliminare tutti gliusersesistenti tabella prima di fare qualsiasi altra cosa. - Modifica il tuo
20120611000411_devise_create_users.rbmigrazione come segue:- Invece di creare un
userstabella, modifica la tabella esistente. - Aggiungi e modifica i componenti del database in modo che corrispondano
- Invece di creare un
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