Ich habe eine dev Ruby on Rails-Datenbank voller Daten. Ich möchte alles löschen und die Datenbank neu erstellen. Ich denke an die Verwendung von etwas wie:
rake db:recreate
Ist dies möglich?
Ich habe eine dev Ruby on Rails-Datenbank voller Daten. Ich möchte alles löschen und die Datenbank neu erstellen. Ich denke an die Verwendung von etwas wie:
rake db:recreate
Ist dies möglich?
Nach Angaben von Rails-Leitfaden sollte dieser One-Liner verwendet werden, da er aus dem schema.rb
anstatt die Migrationsdateien einzeln neu zu laden:
rake db:reset
Da Sie in der Entwicklung die Datenbank immer wieder neu erstellen wollen, können Sie einen Rake-Task in Ihrem lib/tasks-Ordner so definieren.
namespace :db do
task :all => [:environment, :drop, :create, :migrate] do
end
end
und im Terminal führen Sie Folgendes aus
rake db:all
wird Ihre Datenbank neu aufgebaut
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
0 Stimmen
Ich würde vorschlagen, die am höchsten bewertete Antwort nicht zu berücksichtigen. Meiner Meinung nach
rake db:drop db:create db:schema:load
angemessener sein könnte alsrake db:drop db:create db:migrate
(obwohl ich bereit bin, mich da zu irren).0 Stimmen
Mögliches Duplikat von Zurücksetzen der Datenbank (alles löschen), dann eine Datenbank einrichten
2 Stimmen
rake db:drop db:create db:migrate
0 Stimmen
db:drop + db:create + db:migrate == db:migrate:reset
. Ich greife normalerweise aufdb:schema:load
wenn Migrationen unterbrochen werden. Ich muss die Datenbank nur selten neu erstellen, daher spielt die Geschwindigkeit keine große Rolle. Auch, wenn Sie nicht angewandte Migrationen haben,db:schema:load
ydb:reset
wird sie nicht anwenden. Ich bin mir nicht sicher, ob das ein gutes Argument ist.