Skip to main content

Primary Keys

Defining a Primary Key

Use the @PrimaryKey() annotation to mark a column as the primary key.

()
DataType id = DataType.INTEGER;

This is equivalent to creating a column with primaryKey: true in standard Sequelize.

Auto-Generating Primary Keys

Often primary keys are also auto-incrementing integers or UUIDs.

Auto-Increment Integer

()
()
DataType id = DataType.INTEGER;

UUID

()
.uniqid()
DataType id = DataType.UUID;

Composite Primary Keys

Sequelize Dart supports composite primary keys. Simply add @PrimaryKey() to multiple fields.

class Enrollment {
()
DataType studentId = DataType.INTEGER;

()
DataType courseId = DataType.INTEGER;
}

No Primary Key

If you want a table without a primary key (and want to prevent Sequelize from adding a default id column), set noPrimaryKey: true in the @Table annotation.

(noPrimaryKey: true)
class Log {
// ...
}