Det ser ud til, at følgende er sandt:
20120525005302_create_users.rb
vil forsøge at oprette enusers
tabel i din database.20120611000411_devise_create_users.rb
vil også forsøge at oprette enusers
tabel i databasen.- Din database har i øjeblikket allerede en
users
tabel i den, så migreringen mislykkes ved den anden migrering.
For at få users
tabel i din database for at svare korrekt til 20120611000411_devise_create_users.rb
migrering, kan du gøre en af to ting:
- Rul tilbage (eller slip) databasen, og kør derefter migreringerne igen. (Du kan slette
20120525005302_create_users.rb
hvis den er tom.) - Rediger din
20120611000411_devise_create_users.rb
migrering for at fjerne eksisterendeusers
bord, før du gør noget andet. - Rediger din
20120611000411_devise_create_users.rb
migration som følger:- I stedet for at oprette en
users
tabel, skal du ændre den eksisterende tabel. - Tilføj og rediger databasekomponenter, så de svarer
- I stedet for at oprette en
Generelt, hvis din applikation er i en "spædbarnstilstand", så plejer genskabelse af databasen at være en hurtig måde at opbygge den oprindelige struktur for en applikation. Men hvis du allerede har vigtige data i dine users
tabel, vil du gerne beholde den og fortsætte med at ændre 20120611000411_devise_create_users.rb
migrering for at ændre databasen ikke-destruktivt.
Referencer