aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/model_schema.rb
diff options
context:
space:
mode:
authorFred Wu <ifredwu@gmail.com>2013-03-06 10:45:29 +1100
committerFred Wu <ifredwu@gmail.com>2013-03-27 09:12:31 +1100
commit55e295470303a6abcf152f24a1a8c7864dab5ef6 (patch)
tree24915e6019ee5f31dca63d0fb293095be8b8cfe0 /activerecord/lib/active_record/model_schema.rb
parentdbd26e92a7b943a57c2826a749ae25e3ce9e143c (diff)
downloadrails-55e295470303a6abcf152f24a1a8c7864dab5ef6.tar.gz
rails-55e295470303a6abcf152f24a1a8c7864dab5ef6.tar.bz2
rails-55e295470303a6abcf152f24a1a8c7864dab5ef6.zip
Don't reset inheritance_column when setting explicitly.
This is backported from master (cdfcbc4).
Diffstat (limited to 'activerecord/lib/active_record/model_schema.rb')
-rw-r--r--activerecord/lib/active_record/model_schema.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/model_schema.rb b/activerecord/lib/active_record/model_schema.rb
index 1517e5ec17..e10e6b4aa8 100644
--- a/activerecord/lib/active_record/model_schema.rb
+++ b/activerecord/lib/active_record/model_schema.rb
@@ -173,6 +173,7 @@ module ActiveRecord
def inheritance_column=(value)
@original_inheritance_column = inheritance_column
@inheritance_column = value.to_s
+ @explicit_inheritance_column = true
end
def set_inheritance_column(value = nil, &block) #:nodoc:
@@ -300,7 +301,8 @@ module ActiveRecord
connection.schema_cache.clear_table_cache!(table_name) if table_exists?
@column_names = @content_columns = @column_defaults = @columns = @columns_hash = nil
- @dynamic_methods_hash = @inheritance_column = nil
+ @dynamic_methods_hash = nil
+ @inheritance_column = nil unless defined?(@explicit_inheritance_column) && @explicit_inheritance_column
@arel_engine = @relation = nil
end