File tree Expand file tree Collapse file tree 3 files changed +49
-4
lines changed
Expand file tree Collapse file tree 3 files changed +49
-4
lines changed Original file line number Diff line number Diff line change 1+ * Added a shared section to config/database.yml that will be loaded for all environments.
2+
3+ * Pierre Schambacher*
4+
15* Namespace error pages' CSS selectors to stop the styles from bleeding into other pages
2- when using Turbolinks.
3-
6+ when using Turbolinks.
7+
48 * Jan Krutisch*
59
6-
10+
711
812Please check [ 5-1-stable] ( https://github.com/rails/rails/blob/5-1-stable/railties/CHANGELOG.md ) for previous changes.
Original file line number Diff line number Diff line change @@ -133,7 +133,14 @@ def database_configuration
133133 config = if yaml && yaml . exist?
134134 require "yaml"
135135 require "erb"
136- YAML . load ( ERB . new ( yaml . read ) . result ) || { }
136+ loaded_yaml = YAML . load ( ERB . new ( yaml . read ) . result ) || { }
137+ shared = loaded_yaml . delete ( "shared" )
138+ if shared
139+ loaded_yaml . each do |_k , values |
140+ values . reverse_merge! ( shared )
141+ end
142+ end
143+ Hash . new ( shared ) . merge ( loaded_yaml )
137144 elsif ENV [ "DATABASE_URL" ]
138145 # Value from ENV['DATABASE_URL'] is set to default database connection
139146 # by Active Record.
Original file line number Diff line number Diff line change @@ -1407,6 +1407,40 @@ def index
14071407 assert_match "config/database" , err . message
14081408 end
14091409
1410+ test "loads database.yml using shared keys" do
1411+ app_file "config/database.yml" , <<-YAML
1412+ shared:
1413+ username: bobby
1414+ adapter: sqlite3
1415+
1416+ development:
1417+ database: 'dev_db'
1418+ YAML
1419+
1420+ app "development"
1421+
1422+ ar_config = Rails . application . config . database_configuration
1423+ assert_equal "sqlite3" , ar_config [ "development" ] [ "adapter" ]
1424+ assert_equal "bobby" , ar_config [ "development" ] [ "username" ]
1425+ assert_equal "dev_db" , ar_config [ "development" ] [ "database" ]
1426+ end
1427+
1428+ test "loads database.yml using shared keys for undefined environments" do
1429+ app_file "config/database.yml" , <<-YAML
1430+ shared:
1431+ username: bobby
1432+ adapter: sqlite3
1433+ database: 'dev_db'
1434+ YAML
1435+
1436+ app "development"
1437+
1438+ ar_config = Rails . application . config . database_configuration
1439+ assert_equal "sqlite3" , ar_config [ "development" ] [ "adapter" ]
1440+ assert_equal "bobby" , ar_config [ "development" ] [ "username" ]
1441+ assert_equal "dev_db" , ar_config [ "development" ] [ "database" ]
1442+ end
1443+
14101444 test "config.action_mailer.show_previews defaults to true in development" do
14111445 app "development"
14121446
You can’t perform that action at this time.
0 commit comments