Jag har hittat detta via google, och då fick jag en mycket enklare lösning än den godkända, så här är den:Använd database_cleaner pärla. Här är stegen.
I din Gemfil (kör paketet efter modifiering):
gem 'database_cleaner' # you might want to limit this to the dev and staging group
Med den pärlan på plats, uttalandet DatabaseCleaner.clean_with :truncation
kommer att trunkera databasen. Att lägga till det i en rake-uppgift är trivialt:
# tasks/db/clean.rake
namespace :db do
desc "Truncate all existing data"
task :truncate => "db:load_config" do
DatabaseCleaner.clean_with :truncation
end
end
Det är allt. Du kan också använda DatabaseCleaner.clean_with :truncation
rad i din db/seeds.rb
fil direkt så att du inte glömmer att trunkera databasen innan du sådd.