mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Copy config.active_record.*
again when ActiveRecord::Base
is loaded
Otherwise initializer files with `Rails.application.active_record.*` might break.
This commit is contained in:
parent
85622b949c
commit
ba877bd088
3 changed files with 14 additions and 3 deletions
|
@ -341,6 +341,10 @@ module ActiveRecord
|
|||
ActiveRecord.default_timezone
|
||||
end
|
||||
|
||||
def maintain_test_schema # :nodoc:
|
||||
ActiveRecord.maintain_test_schema
|
||||
end
|
||||
|
||||
def reading_role # :nodoc:
|
||||
ActiveSupport::Deprecation.warn(<<~MSG)
|
||||
ActiveRecord::Base.reading_role is deprecated and will be removed in Rails 7.0.
|
||||
|
|
|
@ -651,7 +651,7 @@ module ActiveRecord
|
|||
end
|
||||
|
||||
def maintain_test_schema! #:nodoc:
|
||||
if ActiveRecord.maintain_test_schema
|
||||
if ActiveRecord::Base.maintain_test_schema
|
||||
suppress_messages { load_schema_if_pending! }
|
||||
end
|
||||
end
|
||||
|
|
|
@ -224,8 +224,15 @@ To keep using the current cache store, you can turn off cache versioning entirel
|
|||
configs.each do |k, v|
|
||||
next if k == :encryption
|
||||
setter = "#{k}="
|
||||
next if ActiveRecord.respond_to?(setter)
|
||||
send(setter, v)
|
||||
# Some existing initializers might rely on Active Record configuration
|
||||
# being copied from the config object to their actual destination when
|
||||
# `ActiveRecord::Base` is loaded.
|
||||
# So to preserve backward compatibility we copy the config a second time.
|
||||
if ActiveRecord.respond_to?(setter)
|
||||
ActiveRecord.send(setter, v)
|
||||
else
|
||||
send(setter, v)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue