Gibt es eine Möglichkeit, die Auswirkungen eines Gerüstbefehls in Rails rückgängig zu machen?
ruby-on-rails
ruby
scaffolding
Daniel
quelle
quelle
Antworten:
Erstens , wenn Sie bereits die Migration durch die erzeugte ausgeführt haben
scaffold
Befehl, müssen Sie zunächst ein Rollback durchführen.Sie können Gerüste erstellen mit:
(oder ähnlich), und Sie können es mit zerstören / rückgängig machen
Dadurch werden alle Dateien gelöscht, die von erstellt wurden
generate
, jedoch keine zusätzlichen Änderungen, die Sie möglicherweise manuell vorgenommen haben.quelle
rake db:rollback
bevor Sie Ihr Gerüst zerstören. Dadurch wird die Tabelle zerstört / gelöscht, wenn außer der vorherigen Migration des Gerüsts keine andere Migration erfolgt.git status
und / odergit diff
, um festzustellen, ob der Befehl destroy etwas übersehen hat.Rishav Rastogi hat recht und mit Rails 3.0 oder höher ist es:
quelle
rake db:rollback
vorrails destroy scaffold
oder wenn es nicht der letzte ist, den Sie geharkt habendb:migrate:down VERSION=20080906120000
, können Sie die Nummer vor ihrem Namen in db /Sie können alles rückgängig machen, was Sie getan haben
Durch
Dies gilt beispielsweise für Generatoren für Migration, Gerüst, Modell usw.
quelle
Wenn Sie nur die Dateien anzeigen möchten, die ein Generator erstellt, können Sie die Option --pretend oder -p des Generators übergeben.
quelle
Der beste Weg ist:
Für das Gerüst:
quelle
Stellen Sie außerdem sicher, dass Sie die Migration rückgängig machen, die Sie entweder durch Rollback oder auf eine bestimmte Version vorgenommen haben.
quelle
Zum ersten Mal können Sie Ihre Datenbankmigration überprüfen, wenn Sie ein Gerüst generiert haben. Sie müssen sie zerstören, um Ihre Datenbank zu bereinigen
dann
quelle
So erstellen Sie ein Gerüst:
So stellen Sie das Gerüst wieder her:
quelle
Schienen zerstören Namen
quelle
Zur Erzeugung von Gerüsten in Schienen -
Zum Rückgängigmachen des Gerüsts in Schienen -
quelle
rails g
undrails d
.Sie müssen auch Migrationen zurücksetzen, nachdem Sie das Gerüst zerstört haben
quelle
Gehen Sie also wie folgt vor, um das Gerüst in Schienen rückgängig zu machen. 4. Führen Sie den Befehl wie folgt aus:
rails d scaffold FooBar
rake db:rollback
Wenn Sierake db:migrate
nach dem Erstellen des obigen Gerüsts einen Lauf hatten ?Das ist es!
Prost!
quelle
Rollback empfehlen Geben Sie zunächst Ihr Terminal ein.
Zerstörungsgerüst hinzufügen (das 'd' steht für 'zerstören')
Viel Spaß mit Ihrem Code.
quelle
benutze das
quelle
Zuerst müssen Sie den Rake db: rollback
ausführen, um die Tabelle zu zerstören, wenn Sie bereits rake db: migrate ausgeführt haben, und dann können Sie ausführen
Schienen d Gerüst Modell
quelle
Sie müssen die Migrationen zuerst zurücksetzen, indem Sie Rake db: rollback ausführen, falls vorhanden, und dann das Gerüst durch zerstören
quelle
Ja, das
scaffold
selbst und all die Dinge, die es zusammenführen.Der
destroy
Befehl ist das Gegenteil vongenerate
und macht einen rückgängig. Übergeben Sie es einfach auf die gleiche Weise wie beigenerate
und es wird aus Ihrem Projekt entfernt:quelle
So erstellen Sie das Gerüst:
So stellen Sie dieses Gerüst wieder her:
Wenn Sie die Migration dafür ausgeführt haben, führen Sie einfach ein Rollback durch
quelle
Anbieter eine andere Lösung basierend auf Git
Starten Sie ein neues Projekt
git initialisieren
ein Gerüst erstellen
Rollen Sie das Gerüst zurück
quelle
Möglichkeit
Wenn Sie tun
Dann kehren Sie es mit zurück
quelle
Wenn wir ein Gerüst erstellen, werden folgende Dateien erstellt:
Befehl:
rails generate scaffold Game
Erstellte Dateien:
Wenn wir die Migration danach ausgeführt haben, müssen wir zuerst die Migration zurücksetzen, da durch das Löschen des Gerüsts auch die Migrationsdatei entfernt wird und wir diese Migration nicht zurücksetzen können.
Falls wir die Migration ausgeführt haben:
und danach können wir das Gerüst durch dieses Kommad sicher entfernen.
Dieser Befehl entfernt alle Dateien, die vom Gerüst in Ihrem Projekt erstellt wurden.
quelle
Jedes Mal
rails g
, wenn Sie ausführen , können Sie es umkehren, indem Sie ausführenrails d
(zerstören), um das zu entfernen, was Sie generiert haben. Wenn du bereits gelaufenrake db:migrate
bist, musst du laufen,rake db:rollback
bevor du zerstörst :)quelle
Fall 1: Wenn Sie nur diesen Befehl ausführen, um ein Gerüst zu generieren -
aber bis jetzt haben Sie keinen Befehl für die Migration wie ausgeführt
dann sollten Sie nur diesen Befehl ausführen müssen wie -
Fall 2: Wenn Sie bereits (Scaffold and Migration) mit den folgenden Befehlen ausführen:
Dann sollten Sie zuerst den Rollback-Migrationsbefehl ausführen und dann das Gerüst wie unten beschrieben zerstören müssen -
Auf diese Weise können wir das Gerüst lösen. Wir können auch d zum Zerstören und g zum Generieren als Verknüpfung verwenden.
quelle
zum Erzeugen und
zum Entfernen
quelle