Es sieht so aus, als ob Folgendes zutrifft:
20120525005302_create_users.rbversucht, einenuserszu erstellen Tabelle in Ihrer Datenbank.20120611000411_devise_create_users.rbwird auch versuchen, einenuserszu erstellen Tabelle in der Datenbank.- Ihre Datenbank hat derzeit bereits einen
usersTabelle 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.rblöschen wenn es leer ist.) - Ändern Sie Ihre
20120611000411_devise_create_users.rbMigration, um alle vorhandenenuserszu löschen Tabelle, bevor Sie irgendetwas anderes tun. - Ändern Sie Ihre
20120611000411_devise_create_users.rbMigration wie folgt:- Anstatt einen
userszu 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