638 Stimmen

Eine Ruby on Rails-Datenbank löschen oder neu erstellen

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?

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 als rake db:drop db:create db:migrate (obwohl ich bereit bin, mich da zu irren).

0 Stimmen

2 Stimmen

rake db:drop db:create db:migrate

2voto

Victor Punkte 12652

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

2voto

Obed Lorisson Punkte 465

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

1voto

Thorin Punkte 1946

Ich denke, dass es am besten ist, diesen Befehl auszuführen:

**rake db:reset** it does db:drop, db:setup
 rake db:setup does db:create, db:schema:load, db:seed

1voto

Touseef Murtaza Punkte 924

Sie können einfach ausführen

rake db:setup

Es wird die Datenbank löschen, eine neue Datenbank erstellen und die Datenbank aus der Seed-Datei befüllen, wenn Sie eine Seed-Datei mit einigen Daten erstellt haben.

1voto

Ich benutze:

  • rails db:drop um die Datenbanken zu löschen.
  • rails db:create um die Datenbanken zu erstellen, die auf config/database.yml

Die vorherigen Befehle können ersetzt werden durch rails db:reset .

Vergessen Sie nicht zu laufen rails db:migrate um die Migrationen durchzuführen.

CodeJaeger.com

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.

Powered by:

X