DatabaseCleaner/database_cleaner · error · DatabaseCleaner::Safeguard::Error::ProductionEnv

ENV['#{env}'] is set to production. Please refer to https://

Error message

ENV['#{env}'] is set to production. Please refer to https://github.com/DatabaseCleaner/database_cleaner#safeguards

What it means

Error "ENV['#{env}'] is set to production. Please refer to https://github.com/DatabaseCleaner/database_cleaner#safeguards" thrown in DatabaseCleaner/database_cleaner.

Source

Thrown at lib/database_cleaner/safeguard.rb:76

          host = parsed.host
          return false if host.nil? || host.empty?
          return false if LOCAL.include?(host)
          return false if host.end_with? '.local'
          true
        end

        def skip?
          ENV['DATABASE_CLEANER_ALLOW_REMOTE_DATABASE_URL'] ||
            DatabaseCleaner.allow_remote_database_url ||
            DatabaseCleaner.url_allowlist
        end
    end

    class Production
      KEYS = %w(ENV APP_ENV RACK_ENV RAILS_ENV)

      def run
        raise Error::ProductionEnv.new(key) if !skip? && given?
      end

      private

        def given?
          !!key
        end

        def key
          @key ||= KEYS.detect { |key| ENV[key] == 'production' }
        end

        def skip?
          ENV['DATABASE_CLEANER_ALLOW_PRODUCTION'] ||
            DatabaseCleaner.allow_production
        end
    end

View on GitHub (pinned to 09b47d03cc)

When it happens

Trigger: Thrown at lib/database_cleaner/safeguard.rb:76 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/7d7b76e119709d48. Report an issue: GitHub.