PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Rake-Task zum Abschneiden aller Tabellen in Rails 3

Ich habe das über Google gefunden und dann eine viel einfachere Lösung als die genehmigte gefunden, also hier ist sie:Verwenden Sie den Datenbankreiniger Juwel. Hier sind die Schritte.

In Ihrem Gemfile (Bundle nach dem Ändern ausführen):

gem 'database_cleaner' # you might want to limit this to the dev and staging group

Wenn dieser Edelstein vorhanden ist, wird die Anweisung DatabaseCleaner.clean_with :truncation kürzt die Datenbank. Das Hinzufügen zu einer Rake-Aufgabe ist trivial:

# tasks/db/clean.rake

namespace :db do

  desc "Truncate all existing data"
  task :truncate => "db:load_config" do
    DatabaseCleaner.clean_with :truncation
  end

end

Das ist es. Sie können auch den DatabaseCleaner.clean_with :truncation verwenden Zeile in Ihrer db/seeds.rb Datei direkt, damit Sie nicht vergessen, die Datenbank vor dem Seeding zu kürzen.