DatabaseCleaner/database_cleaner · error · ArgumentError
You must provide a strategy object that supports non default
Error message
You must provide a strategy object that supports non default databases when you specify a database
What it means
Error "You must provide a strategy object that supports non default databases when you specify a database" thrown in DatabaseCleaner/database_cleaner.
Source
Thrown at lib/database_cleaner/cleaner.rb:79
def clean_with(*args)
strategy = create_strategy(*args)
set_strategy_db strategy, db
strategy.clean
strategy
end
private
def strategy_db=(desired_db)
set_strategy_db(strategy, desired_db)
end
def set_strategy_db(strategy, desired_db)
if strategy.respond_to? :db=
strategy.db = desired_db
elsif desired_db != :default
raise ArgumentError, "You must provide a strategy object that supports non default databases when you specify a database"
end
end
def create_strategy(*args)
strategy, *strategy_args = args
orm_strategy(strategy).new(*strategy_args)
end
def orm_strategy(strategy)
strategy_module_name = camelize(strategy)
orm_module.const_get(strategy_module_name)
rescue NameError
available_strategies = self.class.available_strategies(orm_module)
raise UnknownStrategySpecified, "The '#{strategy}' strategy does not exist for the #{orm} ORM! Available strategies: #{available_strategies.join(', ')}"
end
def orm_module
orm_module_name = camelize(orm)View on GitHub (pinned to 09b47d03cc)
When it happens
Trigger: Thrown at lib/database_cleaner/cleaner.rb:79 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of DatabaseCleaner/database_cleaner@09b47d03cc (2026-08-23).
Data as JSON: /api/errors/7cfead00981fbdc8.
Report an issue: GitHub.