ActiveRecord::DatabaseConfigurations::HashConfig (original) (raw)

Active Record Database Hash Config

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"}>

See ActiveRecord::DatabaseConfigurations for more info.

Methods

A

C

D

H

I

L

M

N

P

Q

R

S

Attributes

Class Public methods

Initialize a new HashConfig object

Parameters

Source: show | on GitHub

def initialize(env_name, name, configuration_hash) super(env_name, name) @configuration_hash = configuration_hash.symbolize_keys.freeze end

Instance Public methods

Source: show | on GitHub

def adapter configuration_hash[:adapter]&.to_s end

Source: show | on GitHub

def checkout_timeout (configuration_hash[:checkout_timeout] || 5).to_f end

Source: show | on GitHub

def database configuration_hash[:database] end

Source: show | on GitHub

def default_schema_cache_path(db_dir = "db") if primary? File.join(db_dir, "schema_cache.yml") else File.join(db_dir, "#{name}_schema_cache.yml") end end

Source: show | on GitHub

def idle_timeout timeout = configuration_hash.fetch(:idle_timeout, 300).to_f timeout if timeout > 0 end

Source: show | on GitHub

def lazy_schema_cache_path schema_cache_path || default_schema_cache_path end

Source: show | on GitHub

def max_threads (configuration_hash[:max_threads] || pool).to_i end

The migrations paths for a database configuration. If the migrations_paths key is present in the config, migrations_paths will return its value.

Source: show | on GitHub

def migrations_paths configuration_hash[:migrations_paths] end

Source: show | on GitHub

def min_threads (configuration_hash[:min_threads] || 0).to_i end

Source: show | on GitHub

def pool (configuration_hash[:pool] || 5).to_i end

Source: show | on GitHub

def query_cache configuration_hash[:query_cache] end

reaping_frequency is configurable mostly for historical reasons, but it could also be useful if someone wants a very low idle_timeout.

Source: show | on GitHub

def reaping_frequency configuration_hash.fetch(:reaping_frequency, 60)&.to_f end

Determines whether a database configuration is for a replica / readonly connection. If the replica key is present in the config, replica? will return true.

Source: show | on GitHub

def replica? configuration_hash[:replica] end

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.

Source: show | on GitHub

def schema_cache_path configuration_hash[:schema_cache_path] end

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.

Source: show | on GitHub

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

Determines whether the db:prepare task should seed the database from db/seeds.rb.

If the seeds key is present in the config, seeds? will return its value. Otherwise, it will return true for the primary database and false for all other configs.

Source: show | on GitHub

def seeds? configuration_hash.fetch(:seeds, primary?) end