Saya telah menemukan ini melalui google, dan kemudian saya mendapat solusi yang jauh lebih sederhana daripada yang disetujui, jadi ini dia:Gunakan database_cleaner permata. Berikut langkah-langkahnya.
Di Gemfile Anda (jalankan bundel setelah memodifikasi):
gem 'database_cleaner' # you might want to limit this to the dev and staging group
Dengan permata itu, pernyataan DatabaseCleaner.clean_with :truncation
akan memotong database. Menambahkannya ke tugas menyapu itu sepele:
# tasks/db/clean.rake
namespace :db do
desc "Truncate all existing data"
task :truncate => "db:load_config" do
DatabaseCleaner.clean_with :truncation
end
end
Itu dia. Anda juga dapat menggunakan DatabaseCleaner.clean_with :truncation
baris di dalam db/seeds.rb
file secara langsung sehingga Anda tidak lupa untuk memotong database sebelum melakukan seeding.