instance method
primary_key=
Ruby on Rails edge
Since v3.0.20Signature
primary_key=(value)
Sets the name of the primary key column.
“‘ class Project < ActiveRecord::Base
self.primary_key = 'sysid'
end “‘
Parameters
-
valuereq
Source
# File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 126
def primary_key=(value)
@primary_key_definition = ActiveRecord::Key.for(value)
@primary_key_inherited = false
include CompositePrimaryKey if primary_key_definition.composite?
# Only invalidate loaded contexts; initial schema loading can resolve the primary key.
([self] + descendants).each do |model|
model.clear_inherited_primary_key
model.reload_schema_from_cache(false) if model.schema_loaded?
# Regenerate so the id_value reader is replaced by an alias.
model.undefine_attribute_methods if primary_key_definition.composite? && model.attribute_methods_generated?
end
end
Defined in activerecord/lib/active_record/attribute_methods/primary_key.rb line 126
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::AttributeMethods::PrimaryKey::ClassMethods