pub const IDENTITY: ColumnMarker;Expand description
Creates a GENERATED IDENTITY column with configurable mode.
§Syntax
identity(always)- User values rejected unless OVERRIDING SYSTEM VALUEidentity(by_default)- User values take precedence
§Example
ⓘ
// GENERATED ALWAYS AS IDENTITY - strictest mode
#[column(identity(always), primary)]
id: i64,
// GENERATED BY DEFAULT AS IDENTITY - allows override
#[column(identity(by_default), primary)]
id: i64,§Technical Details
PostgreSQL’s identity columns are SQL-standard compliant, unlike SERIAL. Use ALWAYS for auto-generated IDs, BY DEFAULT when you need to occasionally set values.
See: https://www.postgresql.org/docs/current/ddl-identity-columns.html