In 1efd88283ef68d912df215125951a87526768a51, ConnectionAdapters was put under eager_autoload. Due to the requires in that file, this caused ConnectionSpecification to be loaded, which references ActiveRecord::Base, which means the database connection is established. We do not want to connect to the database when Active Record is loaded, only when ActiveRecord::Base is first referenced by the user.
This commit is contained in:
parent
c6e57467a6
commit
0d5a6f68df
@ -72,6 +72,7 @@ module ActiveRecord
|
||||
autoload :Persistence
|
||||
autoload :QueryCache
|
||||
autoload :Reflection
|
||||
autoload :Result
|
||||
autoload :Schema
|
||||
autoload :SchemaDumper
|
||||
autoload :Serialization
|
||||
|
@ -2163,4 +2163,5 @@ def clear_timestamp_attributes
|
||||
end
|
||||
end
|
||||
|
||||
require 'active_record/connection_adapters/abstract/connection_specification'
|
||||
ActiveSupport.run_load_hooks(:active_record, ActiveRecord::Base)
|
||||
|
@ -4,20 +4,30 @@
|
||||
require 'active_support/core_ext/benchmark'
|
||||
require 'active_support/deprecation'
|
||||
|
||||
# TODO: Autoload these files
|
||||
require 'active_record/connection_adapters/column'
|
||||
require 'active_record/connection_adapters/abstract/schema_definitions'
|
||||
require 'active_record/connection_adapters/abstract/schema_statements'
|
||||
require 'active_record/connection_adapters/abstract/database_statements'
|
||||
require 'active_record/connection_adapters/abstract/quoting'
|
||||
require 'active_record/connection_adapters/abstract/connection_pool'
|
||||
require 'active_record/connection_adapters/abstract/connection_specification'
|
||||
require 'active_record/connection_adapters/abstract/query_cache'
|
||||
require 'active_record/connection_adapters/abstract/database_limits'
|
||||
require 'active_record/result'
|
||||
|
||||
module ActiveRecord
|
||||
module ConnectionAdapters # :nodoc:
|
||||
extend ActiveSupport::Autoload
|
||||
|
||||
autoload :Column
|
||||
|
||||
autoload_under 'abstract' do
|
||||
autoload :IndexDefinition, 'active_record/connection_adapters/abstract/schema_definitions'
|
||||
autoload :ColumnDefinition, 'active_record/connection_adapters/abstract/schema_definitions'
|
||||
autoload :TableDefinition, 'active_record/connection_adapters/abstract/schema_definitions'
|
||||
|
||||
autoload :SchemaStatements
|
||||
autoload :DatabaseStatements
|
||||
autoload :DatabaseLimits
|
||||
autoload :Quoting
|
||||
|
||||
autoload :ConnectionPool
|
||||
autoload :ConnectionHandler, 'active_record/connection_adapters/abstract/connection_pool'
|
||||
autoload :ConnectionManagement, 'active_record/connection_adapters/abstract/connection_pool'
|
||||
autoload :ConnectionSpecification
|
||||
|
||||
autoload :QueryCache
|
||||
end
|
||||
|
||||
# Active Record supports multiple database systems. AbstractAdapter and
|
||||
# related classes form the abstraction layer which makes this possible.
|
||||
# An AbstractAdapter represents a connection to a database, and provides an
|
||||
|
Loading…
Reference in New Issue
Block a user