Tôi đã tìm thấy điều này qua google và sau đó tôi nhận được một giải pháp đơn giản hơn nhiều so với giải pháp đã được phê duyệt, vì vậy đây là:Sử dụng database_cleaner đá quý. Đây là các bước.
Trong Gemfile của bạn (thực thi gói sau khi sửa đổi):
gem 'database_cleaner' # you might want to limit this to the dev and staging group
Với viên ngọc đó, câu lệnh DatabaseCleaner.clean_with :truncation
sẽ cắt ngắn cơ sở dữ liệu. Việc thêm nó vào một nhiệm vụ cào là không cần thiết:
# tasks/db/clean.rake
namespace :db do
desc "Truncate all existing data"
task :truncate => "db:load_config" do
DatabaseCleaner.clean_with :truncation
end
end
Đó là nó. Bạn cũng có thể sử dụng DatabaseCleaner.clean_with :truncation
dòng bên trong db/seeds.rb
của bạn tệp trực tiếp để bạn không quên cắt ngắn cơ sở dữ liệu trước khi bắt đầu.