Database Cleaner Adapter for Sequel

Build Status Code Climate codecov

Clean your Sequel databases with Database Cleaner.

See for more information.


# Gemfile
group :test do
  gem 'database_cleaner-sequel'
# test_helper.rb
DatabaseCleaner[:sequel].strategy = :transaction

class Minitest::Spec
  before :each do

  after :each do

Supported Strategies

Three strategies are supported:

  • Transaction (default)
  • Truncation
  • Deletion

Strategy configuration options

The transaction strategy accepts no options.

The truncation and deletion strategies may accept the following options:

  • :only and :except may 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 to true, 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 to false.

Adapter configuration options

#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, connection: :default]
DatabaseCleaner[:sequel, connection: Sequel.connect(uri)]

See LICENSE for details.