A HashConfig
object is created for each database configuration entry that is created from a hash.
A hash config:
{ "development" => { "database" => "db_name" } }
Becomes:
#<ActiveRecord::DatabaseConfigurations::HashConfig:0x00007fd1acbded10
@env_name="development", @name="primary", @config={database: "db_name"}>
Options
-
:env_name
- The Rails environment, i.e. “development”. -
:name
- The db config name. In a standard two-tier database configuration this will default to “primary”. In a multiple database three-tier database configuration this corresponds to the name used in the second tier, for example “primary_readonly”. -
:config
- The config hash. This is the hash that contains the database adapter, name, and other important information for database connections.
- A
- C
- D
- H
- I
- L
- M
- N
- P
- R
- S
Attributes
[R] | configuration_hash |
Class Public methods
new(env_name, name, configuration_hash) Link
Instance Public methods
adapter() Link
checkout_timeout() Link
database() Link
default_schema_cache_path() Link
host() Link
idle_timeout() Link
lazy_schema_cache_path() Link
max_queue() Link
max_threads() Link
migrations_paths() Link
The migrations paths for a database configuration. If the migrations_paths
key is present in the config, migrations_paths
will return its value.
min_threads() Link
pool() Link
reaping_frequency() Link
reaping_frequency
is configurable mostly for historical reasons, but it could also be useful if someone wants a very low idle_timeout
.
replica?() Link
Determines whether a database configuration is for a replica / readonly connection. If the replica
key is present in the config, replica?
will return true
.
schema_cache_path() Link
The path to the schema cache dump file for a database. If omitted, the filename will be read from ENV or a default will be derived.
schema_dump(format = ActiveRecord.schema_format) Link
Determines whether to dump the schema/structure files and the filename that should be used.
If configuration_hash[:schema_dump]
is set to false
or nil
the schema will not be dumped.
If the config option is set that will be used. Otherwise Rails will generate the filename from the database config name.
# File activerecord/lib/active_record/database_configurations/hash_config.rb, line 127 def schema_dump(format = ActiveRecord.schema_format) if configuration_hash.key?(:schema_dump) if config = configuration_hash[:schema_dump] config end elsif primary? schema_file_type(format) else "#{name}_#{schema_file_type(format)}" end end