aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
diff options
context:
space:
mode:
authorArthur Neves <arthurnn@gmail.com>2016-05-07 12:25:37 -0500
committerArthur Neves <arthurnn@gmail.com>2016-05-24 22:03:00 -0400
commit5167b8f7ffa66c8772c455916b8418844e3b4674 (patch)
tree75443d0cf8311d52e4eb52d39ced3038b23d1f1d /activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
parentbf219714dce494f5b69cb7dd9b8c43a68a4988da (diff)
downloadrails-5167b8f7ffa66c8772c455916b8418844e3b4674.tar.gz
rails-5167b8f7ffa66c8772c455916b8418844e3b4674.tar.bz2
rails-5167b8f7ffa66c8772c455916b8418844e3b4674.zip
Move establish_connection to handler
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb b/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
index f437dafec2..c124f1c4b5 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
@@ -837,7 +837,15 @@ module ActiveRecord
end
alias :connection_pools :connection_pool_list
- def establish_connection(spec)
+ def establish_connection(spec_or_config, name: "primary")
+ if spec_or_config.is_a?(ConnectionSpecification)
+ spec = spec_or_config
+ else
+ resolver = ConnectionAdapters::ConnectionSpecification::Resolver.new(ActiveRecord::Base.configurations)
+ spec = resolver.spec(spec_or_config, name)
+ end
+
+ remove_connection(spec.name)
owner_to_pool[spec.name] = ConnectionAdapters::ConnectionPool.new(spec)
end