Clean your Sequel databases with Database Cleaner.
See https://github.com/DatabaseCleaner/database_cleaner for more information.
# Gemfile
group :test do
gem 'database_cleaner-sequel'
end# test_helper.rb
DatabaseCleaner[:sequel].strategy = :transaction
class Minitest::Spec
before :each do
DatabaseCleaner[:sequel].start
end
after :each do
DatabaseCleaner[:sequel].clean
end
endThree strategies are supported:
- Transaction (default)
- Truncation
- Deletion
The transaction strategy accepts no options.
The truncation and deletion strategies may accept the following options:
:onlyand:exceptmay take a list of table names:
# Only truncate the "users" table.
DatabaseCleaner[:sequel].strategy = :truncation, only: ["users"]
# Delete all tables except the "users" table.
DatabaseCleaner[:sequel].strategy = :deletion, except: ["users"]:pre_count- When set totrue, this will check each table for existing rows before truncating or deleting it. This can speed up test suites when many of the tables are never populated. Defaults tofalse.
#db defaults to the default Sequel database, but can be specified manually in a few ways:
# Sequel connection object
DatabaseCleaner[:sequel].db = Sequel.connect(uri)
# Back to default:
DatabaseCleaner[:sequel].db = :default
# Multiple Sequel databases can be specified:
DatabaseCleaner[:sequel, db: :default]
DatabaseCleaner[:sequel, db: Sequel.connect(uri)]See LICENSE for details.