Det ser ut som att följande är sant:
20120525005302_create_users.rb
kommer att försöka skapa enusers
tabell i din databas.20120611000411_devise_create_users.rb
kommer också att försöka skapa enusers
tabell i databasen.- Din databas har för närvarande redan en
users
tabell 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.rb
om den är tom.) - Ändra din
20120611000411_devise_create_users.rb
migrering för att ta bort befintligausers
tabell innan du gör något annat. - Ändra din
20120611000411_devise_create_users.rb
migrering enligt följande:- Istället för att skapa en
users
tabell, ä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