7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/server_settings/database_config.rb', line 7
def self.generate_database_config(db_role, with_slave:true)
configuration = {}
return configuration unless ServerSettings.databases
ServerSettings.databases.each do |db|
next unless db.config(db_role)
role_db_config = db.config(db_role)
stringify_keys!(role_db_config) if defined? Rails
if db.name == "default"
if defined? Rails
configuration[Rails.env] = role_db_config
else
configuration.merge!(role_db_config)
end
elsif db.group
configuration[db.group] ||= {}
configuration[db.group][db.name] = role_db_config
else
configuration[db.name] = role_db_config
end
if with_slave && db.has_slave?
db.config(:slaves).each.with_index(1) do |config, idx|
config[:host] = db.backup if db_role == :backup
stringify_keys!(config) if defined? Rails
configuration[slave_name(db.name, idx)] = config
end
end
end
configuration
end
|