Ich habe eine Tabelle hinzugefügt, von der ich dachte, dass ich sie brauche, die ich jetzt aber nicht mehr verwenden möchte. Wie sollte ich diese Tabelle entfernen?
Ich habe bereits Migrationen durchgeführt, die Tabelle befindet sich also in meiner Datenbank. Ich denke rails generate migration
sollte in der Lage sein, dies zu handhaben, aber ich habe noch nicht herausgefunden, wie.
Ich habe es versucht:
rails generate migration drop_tablename
aber das hat nur eine leere Migration erzeugt.
Was ist der "offizielle" Weg zum Löschen einer Tabelle in Rails?
1 Stimmen
Desde
rails generate migration
über Befehlszeilenoptionen für die Generierung von Migrationscode zum Erstellen von Tabellen, Hinzufügen oder Ändern von Spalten usw. verfügt, wäre es schön, wenn es auch eine Option zum Löschen einer Tabelle gäbe - aber das ist nicht der Fall. Sicher, das Schreiben derup
Teil ist einfach - rufen Sie einfachdrop_table
-- aber diedown
Teil, die Neuerstellung der Tabelle, ist nicht immer so einfach, vor allem wenn das Schema der betreffenden Tabelle nach ihrer ursprünglichen Erstellung durch Migrationen geändert wurde. Vielleicht sollte jemand den Entwicklern von Rails vorschlagen, dass es eine gute Idee wäre, eine solche Option hinzuzufügen.5 Stimmen
@TeemuLeisti Wie wäre es, wenn Sie einfach die aktuelle Tabellendefinition aus schema.rb kopieren und einfügen? Ich mache das immer so...
1 Stimmen
@João Soares: OK, ich denke, das funktioniert. Es wäre jedoch schön, wenn der Prozess automatisiert werden könnte, so dass man einfach eine
rake
Migrationserstellungsbefehl, mit dem Namen einer Tabelle als Parameter, der die benötigtenup
ydown
Funktionen.