diff options
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/schema_cache.rb | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/schema_cache.rb b/activerecord/lib/active_record/connection_adapters/schema_cache.rb index 5839d1d3b4..dd6363cd2a 100644 --- a/activerecord/lib/active_record/connection_adapters/schema_cache.rb +++ b/activerecord/lib/active_record/connection_adapters/schema_cache.rb @@ -70,7 +70,9 @@ module ActiveRecord # if we get current version during initialization, it happens stack over flow. @version = ActiveRecord::Migrator.current_version [@version] + [:@columns, :@columns_hash, :@primary_keys, :@tables].map do |val| - self.instance_variable_get(val).inject({}) { |h, v| h[v[0]] = v[1]; h } + instance_variable_get(val).dup.tap { |h| + h.default_proc = nil + } end end |