Forum: PC-Programmierung RubyOnRails: destroying model


von Be B. (bebo)


Lesenswert?

Ist das löschen von Modellen eigentlich eine Schwachstelle von Rails?

Mit "rails destroy model modelname" werden zwar alle Dateien gelöscht, 
die mit generate angelegt wurden. Nur liegt genau hier das Problem. Wie 
kann man denn jetzt die dazugehörige Tabelle vom Datenbankserver 
löschen? Die Migration, die die Tabelle erzeugt hat verschwindet, 
anstatt das eine neue Migration erstellt wird, die mit dem nächsten 
db:migrate die Tabelle sauber löscht.

Gelegentlich wird man auf "rake db:rollback" oder dergleichen verwiesen. 
Aber das funktioniert nur, wenn das gelöschte Modell das zuletzt 
generierte war. Was aber, wenn ich das zu allererste generierte Modell 
löschen will?

von D. I. (Gast)


Lesenswert?

Be Bo schrieb:
> Was aber, wenn ich das zu allererste generierte Modell
> löschen will?

rails generate migration DeleteModelMigration

und dort in der up methode die tabelle löschen und in der down methode 
eine MigrationNotReversableException werfen (oder so ähnlich siehe rails 
guide)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.