Es sieht so aus, als ob Folgendes zutrifft:
20120525005302_create_users.rb
versucht, einenusers
zu erstellen Tabelle in Ihrer Datenbank.20120611000411_devise_create_users.rb
wird auch versuchen, einenusers
zu erstellen Tabelle in der Datenbank.- Ihre Datenbank hat derzeit bereits einen
users
Tabelle darin, sodass die Migration bei der zweiten Migration fehlschlägt.
Um die users
zu erhalten Tabelle in Ihrer Datenbank so, dass sie korrekt der 20120611000411_devise_create_users.rb
entspricht Migration haben Sie zwei Möglichkeiten:
- Setzen Sie die Datenbank zurück (oder löschen Sie sie) und führen Sie dann die Migrationen erneut aus. (Sie können
20120525005302_create_users.rb
löschen wenn es leer ist.) - Ändern Sie Ihre
20120611000411_devise_create_users.rb
Migration, um alle vorhandenenusers
zu löschen Tabelle, bevor Sie irgendetwas anderes tun. - Ändern Sie Ihre
20120611000411_devise_create_users.rb
Migration wie folgt:- Anstatt einen
users
zu erstellen Tabelle, ändern Sie die vorhandene Tabelle. - Datenbankkomponenten entsprechend hinzufügen und ändern
- Anstatt einen
Wenn sich Ihre Anwendung in einem "Kinderstadium" befindet, ist das Neuerstellen der Datenbank im Allgemeinen eine schnelle Möglichkeit, die anfängliche Struktur einer Anwendung aufzubauen. Wenn Sie jedoch bereits wichtige Daten in Ihren users
haben Tabelle, Sie sollten diese behalten und fortfahren, indem Sie 20120611000411_devise_create_users.rb
ändern Migration, um die Datenbank zerstörungsfrei zu ändern.
Referenzen