aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
diff options
context:
space:
mode:
authorJean Boussier <jean.boussier@gmail.com>2015-09-22 14:10:38 -0400
committerJean Boussier <jean.boussier@gmail.com>2015-09-24 11:04:44 -0400
commit4ccdd4122dfdab200c02f78a994f4112d6164164 (patch)
tree298ca6c3f0a593cb55f9fe90c4f69b7647d43e94 /activerecord/lib
parent4a375a83deab7a3089e718a1d18ddc4c2846cd40 (diff)
downloadrails-4ccdd4122dfdab200c02f78a994f4112d6164164.tar.gz
rails-4ccdd4122dfdab200c02f78a994f4112d6164164.tar.bz2
rails-4ccdd4122dfdab200c02f78a994f4112d6164164.zip
Implement ActiveRecord::Base.ignored_columns
Diffstat (limited to 'activerecord/lib')
-rw-r--r--activerecord/lib/active_record/model_schema.rb9
1 files changed, 8 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/model_schema.rb b/activerecord/lib/active_record/model_schema.rb
index c461c04a26..a9bd094a66 100644
--- a/activerecord/lib/active_record/model_schema.rb
+++ b/activerecord/lib/active_record/model_schema.rb
@@ -50,6 +50,13 @@ module ActiveRecord
class_attribute :pluralize_table_names, instance_writer: false
self.pluralize_table_names = true
+ ##
+ # :singleton-method:
+ # Accessor for the list of columns names the model should ignore. Ignored columns won't have attribute
+ # accessors defined, and won't be referenced in SQL queries.
+ class_attribute :ignored_columns, instance_accessor: false
+ self.ignored_columns = [].freeze
+
self.inheritance_column = 'type'
delegate :type_for_attribute, to: :class
@@ -308,7 +315,7 @@ module ActiveRecord
end
def load_schema!
- @columns_hash = connection.schema_cache.columns_hash(table_name)
+ @columns_hash = connection.schema_cache.columns_hash(table_name).except(*ignored_columns)
@columns_hash.each do |name, column|
warn_if_deprecated_type(column)
define_attribute(