Znalazłem to przez Google, a potem otrzymałem znacznie prostsze rozwiązanie niż zatwierdzone, więc oto jest:Użyj database_cleaner klejnot. Oto kroki.
W pliku Gemfile (wykonaj pakiet po modyfikacji):
gem 'database_cleaner' # you might want to limit this to the dev and staging group
Mając ten klejnot na miejscu, instrukcja DatabaseCleaner.clean_with :truncation
skróci bazę danych. Dodanie go do zadania prowizji jest trywialne:
# tasks/db/clean.rake
namespace :db do
desc "Truncate all existing data"
task :truncate => "db:load_config" do
DatabaseCleaner.clean_with :truncation
end
end
Otóż to. Możesz także użyć DatabaseCleaner.clean_with :truncation
linia wewnątrz pliku db/seeds.rb
plik bezpośrednio, aby nie zapomnieć o skróceniu bazy danych przed seedowaniem.