Det ser ut som att följande är sant:
20120525005302_create_users.rbkommer att försöka skapa enuserstabell i din databas.20120611000411_devise_create_users.rbkommer också att försöka skapa enuserstabell i databasen.- Din databas har för närvarande redan en
userstabell i den, så migreringen misslyckas vid den andra migreringen.
För att få users tabellen i din databas för att korrekt motsvara 20120611000411_devise_create_users.rb migrering kan du göra en av två saker:
- Rulla tillbaka (eller släpp) databasen och kör sedan migreringarna igen. (Du kan ta bort
20120525005302_create_users.rbom den är tom.) - Ändra din
20120611000411_devise_create_users.rbmigrering för att ta bort befintligauserstabell innan du gör något annat. - Ändra din
20120611000411_devise_create_users.rbmigrering enligt följande:- Istället för att skapa en
userstabell, ändra den befintliga tabellen. - Lägg till och ändra databaskomponenter så att de motsvarar
- Istället för att skapa en
I allmänhet, om din applikation är i ett "spädbarnstillstånd", tenderar återskapandet av databasen att vara ett snabbt sätt att bygga upp den ursprungliga strukturen för en applikation. Men om du redan har viktig information i dina users tabell, vill du behålla den och fortsätta genom att ändra 20120611000411_devise_create_users.rb migrering för att ändra databasen oförstörande.
Referenser