2016-03-21 13 views
0

Ich konvertierte sqlite3 zu mysql auf meinem Projekt ruby ​​on rails. Ich machte sqlite3 Backup-Datei, mit Rake db: dump. Und ich löschte und fügte einige Spalten zur DB hinzu. Schließlich, wenn ich tat 'rake db: load', bekam ich einen Fehlerruby ​​auf rails mysql2 :: Fehler: unbekannte Spalte 'pay_status' in 'Feldliste'

mysql2::error: unknown column 'pay_status' in 'field list'

Eigentlich habe ich 'pay_status' Spalte gelöscht, aber es ist in sqlite3 Back-up-Datei. Wie kann ich diesen Fehler beheben? Gibt es eine Möglichkeit, DB zu speichern, obwohl einige Spalten geändert werden?

Antwort

0

rake db:load lädt das Datenbankschema aus db/schema.rb. Wenn Sie also das Schema mit rake db:schema ausgegeben haben, das das Schema im Wesentlichen von der Datenbank auf db/schema.rb ablegt und anschließend Änderungen an der Datenbank durch Löschen/Hinzufügen von Spalten vornimmt, müssen Sie erneut rake db:schema ausführen, bevor Sie rake db:load ausführen. Andernfalls wird Ihre Schemadatei (db/schema.rb) nicht mit der tatsächlichen Datenbank synchronisiert.

Verwandte Themen