class ActiveRecord::DatabaseConfigurations
def configs_for(env_name: nil, name: nil, include_replicas: false, include_hidden: 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