aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--activerecord/lib/active_record/connection_adapters/connection_specification.rb6
-rw-r--r--activerecord/lib/active_record/railtie.rb2
-rw-r--r--railties/test/isolation/abstract_unit.rb18
3 files changed, 22 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/connection_specification.rb b/activerecord/lib/active_record/connection_adapters/connection_specification.rb
index a87eed5243..5f50ca6aae 100644
--- a/activerecord/lib/active_record/connection_adapters/connection_specification.rb
+++ b/activerecord/lib/active_record/connection_adapters/connection_specification.rb
@@ -48,11 +48,11 @@ module ActiveRecord
# an environment key or a url spec. So we support both for
# now but it would be nice to limit the environment key only
# for symbols.
- spec = configurations.fetch(spec.to_s) do
+ config = configurations.fetch(spec.to_s) do
resolve_string_connection(spec) if spec.is_a?(String)
end
- raise(AdapterNotSpecified, "#{spec} database is not configured") unless spec
- resolve_connection spec
+ raise(AdapterNotSpecified, "#{spec} database is not configured") unless config
+ resolve_connection config
end
def resolve_hash_connection(spec) # :nodoc:
diff --git a/activerecord/lib/active_record/railtie.rb b/activerecord/lib/active_record/railtie.rb
index 2c796f97e6..19e27ccb37 100644
--- a/activerecord/lib/active_record/railtie.rb
+++ b/activerecord/lib/active_record/railtie.rb
@@ -56,7 +56,7 @@ module ActiveRecord
resolver = ActiveRecord::ConnectionAdapters::ConnectionSpecification::Resolver.new(configuration)
configuration.each do |key, value|
- configuration[key] = resolver.resolve(value) if value
+ configuration[key] = resolver.resolve(value).config.stringify_keys if value
end
ActiveRecord::Tasks::DatabaseTasks.database_configuration = configuration
diff --git a/railties/test/isolation/abstract_unit.rb b/railties/test/isolation/abstract_unit.rb
index 362c2c510a..a03b34bd16 100644
--- a/railties/test/isolation/abstract_unit.rb
+++ b/railties/test/isolation/abstract_unit.rb
@@ -117,6 +117,24 @@ module TestHelpers
end
end
+ File.open("#{app_path}/config/database.yml", "w") do |f|
+ f.puts <<-YAML
+ default: &default
+ adapter: sqlite3
+ pool: 5
+ timeout: 5000
+ development:
+ <<: *default
+ database: db/development.sqlite3
+ test:
+ <<: *default
+ database: db/test.sqlite3
+ production:
+ <<: *default
+ database: db/production.sqlite3
+ YAML
+ end
+
add_to_config <<-RUBY
config.eager_load = false
config.session_store :cookie_store, key: "_myapp_session"