class ActiveRecord::DatabaseConfigurations

def configs_for(env_name: nil, name: nil, include_replicas: false, include_hidden: false)

write and read connection). Defaults to +false+.
iterating over the primary connections (i.e. migrations don't need to run for the
hidden by +database_tasks: false+ in the returned list. Most of the time we're only
* include_hidden: Determines whether to include replicas and configurations
Defaults to +false+.
connection (i.e. migrations don't need to run for the write and read connection).
the returned list. Most of the time we're only iterating over the write
* include_replicas: Deprecated. Determines whether to include replicas in
passed +name+ will be returned.
to +nil+. If no +env_name+ is specified the config for the default env and the
* name: The db config name (i.e. primary, animals, etc.). Defaults
configs for all environments.
* env_name: The environment name. Defaults to +nil+ which will collect

==== Options

returned that corresponds with the environment and type requested.
returned, otherwise an array of DatabaseConfig objects will be
If a name is provided a single DatabaseConfig object will be

name passed in. To include replica configurations pass include_hidden: true.
Collects the configs for the environment and optionally the specification
def configs_for(env_name: nil, name: nil, include_replicas: false, include_hidden: false)
  if include_replicas
    include_hidden = include_replicas
    ActiveSupport::Deprecation.warn("The kwarg `include_replicas` is deprecated in favor of `include_hidden`. When `include_hidden` is passed, configurations with `replica: true` or `database_tasks: false` will be returned. `include_replicas` will be removed in Rails 7.1.")
  end
  env_name ||= default_env if name
  configs = env_with_configs(env_name)
  unless include_hidden
    configs = configs.select do |db_config|
      db_config.database_tasks?
    end
  end
  if name
    configs.find do |db_config|
      db_config.name == name
    end
  else
    configs
  end
end