Irgendwann während meiner Rails-Entwicklung habe ich begonnen, Datenbankänderungen vorzunehmen (z.B. Löschen oder Ändern von Spalten/Tabellen), ohne Rails-Migrationen zu verwenden. Jetzt erhalte ich Fehler, wenn ich versuche, meine Rails-App von Grund auf bereitzustellen.
blaine@blaine-laptop ~/tmp/rbjacolyte $ rake db:migrate
(in /home/blaine/tmp/rbjacolyte)
== AddHashToTrack: migrating =================================================
-- add_column(:tracks, :hash, :string)
rake aborted!
Ein Fehler ist aufgetreten, alle späteren Migrationen wurden abgebrochen:
Mysql::Error: Tabelle 'jacolyte_dev_tmp.tracks' existiert nicht: ALTER TABLE `tracks` ADD `hash` varchar(255)
(Vollständigen Trace anzeigen, indem Sie die Aufgabe mit --trace ausführen)
Wie kann ich nachdem ich es mit Raw SQL durcheinander gebracht habe, meine Produktions- und Entwicklungsumgebungen mit Migrationen synchronisieren? Ich möchte meine Rails-Anwendung ohne Datenbankfehler bereitstellen und nicht von vorne anfangen.
Die Daten in den Produktions- und Entwicklungsumgebungen stimmen überein, aber die Migrationen schlagen fehl. Ich möchte eine Möglichkeit, um "von vorne anzufangen".
Könnte ich einfach alle meine Migrationen löschen und dann nur noch Migrationen ab jetzt verwenden?