Type:
Class

ConnectionHandler is a collection of ConnectionPool objects. It is used for keeping separate connection pools for Active Record models that connect to different databases.

For example, suppose that you have 5 models, with the following hierarchy:

1
2
3
4
5
6
7
|
+-- Book
|    |
|    +-- ScaryBook
|    +-- GoodBook
+-- Author
+-- BankAccount

Suppose that Book is to connect to a separate database (i.e. one other than the default database). Then Book, ScaryBook and GoodBook will all use the same connection pool. Likewise, Author and BankAccount will use the same connection pool. However, the connection pool used by Author/BankAccount is not the same as the one used by Book/ScaryBook/GoodBook.

Normally there is only a single ConnectionHandler instance, accessible via ActiveRecord::Core.connection_handler. Active Record models use this to determine the connection pool that they should use.

active_connections?
  • References/Ruby on Rails/Rails/Classes/ActiveRecord/ActiveRecord::ConnectionAdapters/ActiveRecord::ConnectionAdapters::ConnectionHandler

active_connections?() Instance Public methods Returns true if there are any

2025-01-10 15:47:30
connected?
  • References/Ruby on Rails/Rails/Classes/ActiveRecord/ActiveRecord::ConnectionAdapters/ActiveRecord::ConnectionAdapters::ConnectionHandler

connected?(klass) Instance Public methods Returns true if a connection that's

2025-01-10 15:47:30
remove_connection
  • References/Ruby on Rails/Rails/Classes/ActiveRecord/ActiveRecord::ConnectionAdapters/ActiveRecord::ConnectionAdapters::ConnectionHandler

remove_connection(owner) Instance Public methods Remove the connection for this

2025-01-10 15:47:30
connection_pool_list
  • References/Ruby on Rails/Rails/Classes/ActiveRecord/ActiveRecord::ConnectionAdapters/ActiveRecord::ConnectionAdapters::ConnectionHandler

connection_pool_list() Instance Public methods

2025-01-10 15:47:30
connection_pools
  • References/Ruby on Rails/Rails/Classes/ActiveRecord/ActiveRecord::ConnectionAdapters/ActiveRecord::ConnectionAdapters::ConnectionHandler

connection_pools() Instance Public methods

2025-01-10 15:47:30
clear_reloadable_connections!
  • References/Ruby on Rails/Rails/Classes/ActiveRecord/ActiveRecord::ConnectionAdapters/ActiveRecord::ConnectionAdapters::ConnectionHandler

clear_reloadable_connections!() Instance Public methods Clears the cache which

2025-01-10 15:47:30
establish_connection
  • References/Ruby on Rails/Rails/Classes/ActiveRecord/ActiveRecord::ConnectionAdapters/ActiveRecord::ConnectionAdapters::ConnectionHandler

establish_connection(owner, spec) Instance Public methods

2025-01-10 15:47:30
retrieve_connection_pool
  • References/Ruby on Rails/Rails/Classes/ActiveRecord/ActiveRecord::ConnectionAdapters/ActiveRecord::ConnectionAdapters::ConnectionHandler

retrieve_connection_pool(klass) Instance Public methods Retrieving the connection

2025-01-10 15:47:30
clear_active_connections!
  • References/Ruby on Rails/Rails/Classes/ActiveRecord/ActiveRecord::ConnectionAdapters/ActiveRecord::ConnectionAdapters::ConnectionHandler

clear_active_connections!() Instance Public methods Returns any connections

2025-01-10 15:47:30
clear_all_connections!
  • References/Ruby on Rails/Rails/Classes/ActiveRecord/ActiveRecord::ConnectionAdapters/ActiveRecord::ConnectionAdapters::ConnectionHandler

clear_all_connections!() Instance Public methods

2025-01-10 15:47:30