Es scheint mir seltsam, dass die Erstellung des Modells, das Ausführen der Migration, das Zerstören und das erneute Erstellen des gleichen Modells SQL-Ausnahme meldet:
%Vor%Vielleicht mache ich etwas falsch? Die Migration hat einen Code zum Löschen der Tabelle - kann sie nur für das Zurücksetzen verwendet werden?
Löschen Sie die Modell- und Datenbanktabelle und erstellen Sie eine neue Tabelle:
rails g model user name
rake db:migrate
rake db:migrate:down VERSION=20130417185814
, wobei 20130417185814
die Migrations-ID ist (kann in Rake db gesehen werden: migrate: status) rails d model user
rails g model user email group:references
rake db:migrate
Sie haben das Modell gelöscht. Das ist eine andere Operation als das Zurücksetzen einer Migration.
Das Zerstören eines Modells macht genau das, und nur das; Es hat nichts mit Migrationen zu tun.
Gemäß Ihrem Migrationsfehler muss etwas mit den Migrationsdateien nicht stimmen, außerdem mit der, die sich auf die Namentabelle bezieht.
Bitte schauen Sie sich diese Datei an, bei Ihrer Änderungsmethode.
Die Änderungsmethode in einer Migrationsdatei soll einen DB-Code ausführen, der DB-Code kann einige Operationen in der DB ausführen, und derselbe Code für die Änderung, die für das Zurückrollen gelten soll.
Wenn Sie zwischen den beiden trennen möchten, sollten Sie den Code auf die up-Methode setzen, die Operationen in der DB ausführt, und auf die down-Methode die entgegengesetzten rollenden Operationen.
Ich würde vorschlagen, dass Sie alle Dateien auf der Migration löschen, einschließlich der, die das Problem verursachen, und schreiben Sie sie korrekt.
Wenn Sie Hilfe benötigen, geben Sie bitte Ihre Migrationsdatei an.
Bitte werfen Sie auch einen Blick auf die Anleitungen: Ссылка
Tags und Links ruby ruby-on-rails-3 ruby-on-rails