There's a lot of open issues
Strategies for cleaning databases using Sequel. Can be used to ensure a clean state for testing.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
 Project Readme

Database Cleaner Adapter for Sequel

Build Status Code Climate codecov

Clean your Sequel databases with Database Cleaner.

See https://github.com/DatabaseCleaner/database_cleaner for more information.

Installation

# 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
end

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)]

COPYRIGHT

See LICENSE for details.