{"record":{"id":"12c9b5e27588bf5d","repo":"DatabaseCleaner/database_cleaner","slug":"env-database-url-is-set-to-a-remote-url-please","errorCode":null,"errorMessage":"ENV['DATABASE_URL'] is set to a remote URL. Please refer to https://github.com/DatabaseCleaner/database_cleaner#safeguards","messagePattern":"ENV\\['DATABASE_URL'\\] is set to a remote URL\\. Please refer to https://github\\.com/DatabaseCleaner/database_cleaner#safeguards","errorType":"exception","errorClass":"DatabaseCleaner::Safeguard::Error::RemoteDatabaseUrl","httpStatus":null,"severity":"error","filePath":"lib/database_cleaner/safeguard.rb","lineNumber":48,"sourceCode":"\n      private\n\n        def database_url_not_allowed?\n          !DatabaseCleaner.url_allowlist.any? {|allowed| allowed === ENV['DATABASE_URL'] }\n        end\n\n        def skip?\n          !DatabaseCleaner.url_allowlist\n        end\n    end\n\n\n    class RemoteDatabaseUrl\n      LOCAL = %w(localhost 127.0.0.1)\n\n      def run\n        return if skip?\n        raise Error::RemoteDatabaseUrl if remote?(ENV['DATABASE_URL'])\n      end\n\n      private\n\n        def remote?(url)\n          return false unless url\n          parsed = URI.parse(url)\n          return false if parsed.scheme == 'sqlite' || parsed.scheme == 'sqlite3'\n\n          host = parsed.host\n          return false if host.nil? || host.empty?\n          return false if LOCAL.include?(host)\n          return false if host.end_with? '.local'\n          true\n        end\n\n        def skip?\n          ENV['DATABASE_CLEANER_ALLOW_REMOTE_DATABASE_URL'] ||","sourceCodeStart":30,"sourceCodeEnd":66,"githubUrl":"https://github.com/DatabaseCleaner/database_cleaner/blob/09b47d03cce420c915b10eb595936ef4397b55ac/lib/database_cleaner/safeguard.rb#L30-L66","documentation":"Error \"ENV['DATABASE_URL'] is set to a remote URL. Please refer to https://github.com/DatabaseCleaner/database_cleaner#safeguards\" thrown in DatabaseCleaner/database_cleaner.","triggerScenarios":"Thrown at lib/database_cleaner/safeguard.rb:48 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"}