{"record":{"id":"7cfead00981fbdc8","repo":"DatabaseCleaner/database_cleaner","slug":"you-must-provide-a-strategy-object-that-supports-n","errorCode":null,"errorMessage":"You must provide a strategy object that supports non default databases when you specify a database","messagePattern":"You must provide a strategy object that supports non default databases when you specify a database","errorType":"exception","errorClass":"ArgumentError","httpStatus":null,"severity":"error","filePath":"lib/database_cleaner/cleaner.rb","lineNumber":79,"sourceCode":"\n    def clean_with(*args)\n      strategy = create_strategy(*args)\n      set_strategy_db strategy, db\n      strategy.clean\n      strategy\n    end\n\n    private\n\n    def strategy_db=(desired_db)\n      set_strategy_db(strategy, desired_db)\n    end\n\n    def set_strategy_db(strategy, desired_db)\n      if strategy.respond_to? :db=\n        strategy.db = desired_db\n      elsif desired_db != :default\n        raise ArgumentError, \"You must provide a strategy object that supports non default databases when you specify a database\"\n      end\n    end\n\n    def create_strategy(*args)\n      strategy, *strategy_args = args\n      orm_strategy(strategy).new(*strategy_args)\n    end\n\n    def orm_strategy(strategy)\n      strategy_module_name = camelize(strategy)\n      orm_module.const_get(strategy_module_name)\n    rescue NameError\n      available_strategies = self.class.available_strategies(orm_module)\n      raise UnknownStrategySpecified, \"The '#{strategy}' strategy does not exist for the #{orm} ORM!  Available strategies: #{available_strategies.join(', ')}\"\n    end\n\n    def orm_module\n      orm_module_name = camelize(orm)","sourceCodeStart":61,"sourceCodeEnd":97,"githubUrl":"https://github.com/DatabaseCleaner/database_cleaner/blob/09b47d03cce420c915b10eb595936ef4397b55ac/lib/database_cleaner/cleaner.rb#L61-L97","documentation":"Error \"You must provide a strategy object that supports non default databases when you specify a database\" thrown in DatabaseCleaner/database_cleaner.","triggerScenarios":"Thrown at lib/database_cleaner/cleaner.rb:79 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"09b47d03cce420c915b10eb595936ef4397b55ac","analyzedAt":"2026-08-23T14:53:55.093Z","schemaVersion":2},"datasetVersion":"2026-08-23T16:17:53.355Z"}