Blueprint class

Defines the structure of a database table through a fluent API.

Constructors

Blueprint(String _table)

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

bigId([String name = 'id']) ColumnDefinition
Adds a big auto-incrementing integer primary key.
bigInteger(String name) ColumnDefinition
Adds a BIGINT column.
binary(String name) ColumnDefinition
Adds a BYTEA (binary data) column.
boolean(String name) ColumnDefinition
Adds a BOOLEAN column.
date(String name) ColumnDefinition
Adds a DATE column.
decimal(String name, {int precision = 10, int scale = 2}) ColumnDefinition
Adds a DECIMAL(precision, scale) column.
doublePrecision(String name) ColumnDefinition
Adds a DOUBLE PRECISION column.
enum_(String name, List<String> values) ColumnDefinition
Adds an enum-like column using a CHECK constraint.
float(String name) ColumnDefinition
Adds a REAL (single-precision float) column.
foreign(String column, {required String references, required String on, String onDelete = 'CASCADE', String onUpdate = 'CASCADE'}) ColumnDefinition
Adds a foreign key column referencing another table.
id([String name = 'id']) ColumnDefinition
Adds an auto-incrementing integer primary key named id.
index(String name, List<String> columns) String
Adds a named index (executed as a separate statement after CREATE TABLE). Note: This generates a separate SQL statement, stored for later execution.
integer(String name) ColumnDefinition
Adds an INTEGER column.
json(String name) ColumnDefinition
Adds a JSON column.
jsonb(String name) ColumnDefinition
Adds a JSONB column.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
smallInteger(String name) ColumnDefinition
Adds a SMALLINT column.
softDeletes() ColumnDefinition
Adds a soft-delete deleted_at column.
string(String name, {int length = 255}) ColumnDefinition
Adds a VARCHAR(length) column.
text(String name) ColumnDefinition
Adds a TEXT column (unlimited length).
time(String name) ColumnDefinition
Adds a TIME column.
timestamp(String name) ColumnDefinition
Adds a TIMESTAMP column.
timestamps() → void
Adds created_at and updated_at timestamp columns.
timestampTz(String name) ColumnDefinition
Adds a TIMESTAMPTZ (timestamp with timezone) column.
toString() String
A string representation of this object.
inherited
unique(List<String> columns) → void
Adds a composite unique constraint.
uuid([String name = 'id']) ColumnDefinition
Adds a UUID primary key with auto-generation.

Operators

operator ==(Object other) bool
The equality operator.
inherited