DatabaseCleaner/database_cleaner · error · ArgumentError

You must provide a strategy object, or a symbol for a known

Error message

You must provide a strategy object, or a symbol for a known strategy along with initialization params.

What it means

Error "You must provide a strategy object, or a symbol for a known strategy along with initialization params." thrown in DatabaseCleaner/database_cleaner.

Source

Thrown at lib/database_cleaner/cleaner.rb:49

    attr_reader :orm

    def db=(desired_db)
      @db = self.strategy_db = desired_db
    end

    def db
      @db ||= :default
    end

    def strategy=(args)
      strategy, *strategy_args = args
      @strategy = if strategy.is_a?(Symbol)
        create_strategy(*args)
      elsif strategy_args.empty?
        strategy
      else
        raise ArgumentError, "You must provide a strategy object, or a symbol for a known strategy along with initialization params."
      end

      set_strategy_db @strategy, db
    end

    def strategy
      @strategy ||= NullStrategy.new
    end

    extend Forwardable
    delegate [:start, :clean, :cleaning] => :strategy

    def clean_with(*args)
      strategy = create_strategy(*args)
      set_strategy_db strategy, db
      strategy.clean
      strategy
    end

View on GitHub (pinned to 09b47d03cc)

When it happens

Trigger: Thrown at lib/database_cleaner/cleaner.rb:49 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/ef6f8e2c5ef83cb1. Report an issue: GitHub.