Zurückgelegte Daten in Rails rückgängig machen

9

Ich habe eine Reihe von Daten in meine Tabelle eingefügt, indem ich db/seed.rb file bearbeite und rake db:seed command ausführe. Ohne es zu wissen, habe ich ein paar falsche Informationen in diese Zeile geschrieben. Daher möchte ich die zuvor hinzugefügte Datenzeile entfernen. Gibt es einen Rake-Befehl für dasselbe wie rake db:rollback für rake db:migrate .

    
Rajesh Omanakuttan 19.02.2013, 10:20
quelle

1 Antwort

3

Es gibt ein paar Aspekte:

1: Sie möchten die Startdaten ändern, wenn keine anderen Daten in der Datenbank vorhanden sind:

Sie sollten die rake db:seed nach dem Aktualisieren der seed.rb-Datei einfach wiederherstellen. Stellen Sie sicher, dass Sie MyModel.delete_all haben, bevor Sie versuchen, dem Modell etwas hinzuzufügen.

2: Sie möchten die Startdaten ändern, aber der Datenbank werden weitere Daten hinzugefügt

Das ist ein bisschen schwieriger. Oft ist es am einfachsten, die Daten manuell zu ändern, entweder mit rohen SQL-Anweisungen oder mit Tools wie PhpPpAdmin , PhpMyAdmin usw.

Nun gibt es eine Möglichkeit, dies zusammen zu hacken, und das wäre ein Voodoo in der Datei seed.rb. So könnten Sie rake db:seed deseed=true ausführen, dann in Ihrem seed.rb:

%Vor%

Sie könnten sogar richtig verrückt werden und so etwas tun:

%Vor%     
Automatico 19.02.2013 12:48
quelle

Tags und Links