instance method
reset_column_information
Ruby on Rails 4.2.9
Since v3.2.22.5Signature
reset_column_information()
Resets all the cached information about columns, which will cause them to be reloaded on the next request.
The most common usage pattern for this method is probably in a migration, when just after creating a table you want to populate it with some default values, eg:
class CreateJobLevels < ActiveRecord::Migration def up create_table :job_levels do |t| t.integer :id t.string :name t.timestamps end JobLevel.reset_column_information %w{assistant executive manager director}.each do |type| JobLevel.create(name: type) end end def down drop_table :job_levels end end
Source
# File activerecord/lib/active_record/model_schema.rb, line 295
def reset_column_information
connection.clear_cache!
undefine_attribute_methods
connection.schema_cache.clear_table_cache!(table_name)
@arel_engine = nil
@column_names = nil
@column_types = nil
@content_columns = nil
@default_attributes = nil
@inheritance_column = nil unless defined?(@explicit_inheritance_column) && @explicit_inheritance_column
@relation = nil
initialize_find_by_cache
end
Defined in activerecord/lib/active_record/model_schema.rb line 295
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::ModelSchema::ClassMethods