instance method primary_key=

Ruby on Rails edge

Since v3.0.20

Available in: v3.0.20 v3.1.12 v3.2.22.5 v4.0.13 v4.1.16 v4.2.11.3 v5.0.7.2 v5.1.7 v5.2.8.1 v6.0.6.1 v6.1.7.10 v7.0.10 v7.1.6 v7.2.4 v8.0.5.1 v8.1.4 edge

Signature

primary_key=(value)

Sets the name of the primary key column.

“‘ class Project < ActiveRecord::Base

self.primary_key = 'sysid'

end “‘

Parameters

value req
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

Type at least 2 characters to search.

Use the arrow keys to navigate results, Enter to open one, Escape to close.

Keyboard shortcuts

/
Focus search
⌘K / Ctrl-K
Command palette
?
This help
Esc
Close