IDENTITY

Constant IDENTITY 

Source
pub const IDENTITY: ColumnMarker;
Expand description

Creates a GENERATED IDENTITY column with configurable mode.

§Syntax

  • identity(always) - User values rejected unless OVERRIDING SYSTEM VALUE
  • identity(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