TableBlueprint class

Mutable blueprint that records the operations to perform against a table.

Available extensions

Constructors

TableBlueprint.alter(String table, {String? schema})
factory
TableBlueprint.create(String table, {String? schema})
factory
TableBlueprint.fromJson(Map<String, Object?> json)
factory

Properties

columns List<ColumnCommand>
Column commands that will run when the blueprint is applied.
no setter
engine String?
Explicit storage engine to use when creating the table.
getter/setter pair
foreignKeys List<ForeignKeyCommand>
Foreign key commands tracked by the blueprint.
no setter
hashCode int
The hash code for this object.
no setterinherited
indexes List<IndexCommand>
Index commands generated from the fluent API and drops.
no setter
operation TableOperationKind
Operation kind describing whether this is a create or alter.
final
renamedColumns List<ColumnRename>
Column rename operations declared on this blueprint.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
schema String?
Optional schema name for the table.
final
table String
Name of the table being created or altered by this blueprint.
final
tableCharset String?
Charset override applied to the table.
getter/setter pair
tableCollation String?
Collation override applied to the table.
getter/setter pair
tableComment String?
Optional comment attached to the table definition.
no setter
temporary bool
Whether the blueprint creates a temporary table.
getter/setter pair

Methods

bigIncrements(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
bigInteger(String name, {ColumnMutation mutation = ColumnMutation.add, bool unsigned = false}) ColumnBuilder
Adds a big integer column.
binary(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
Adds a binary column.
blob(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder

Available on TableBlueprint, provided by the SqliteTableBlueprintExtensions extension

Adds a BLOB column (alias for binary).
boolean(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
Adds a boolean column.
char(String name, {int length = 255, ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
charset(String value) → void
collation(String value) → void
column(String name, ColumnType type, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
Adds a custom column definition.
computed(String name, String expression, {ColumnMutation mutation = ColumnMutation.add, bool stored = false, ColumnType type = const ColumnType.text()}) ColumnBuilder
date(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
dateTime(String name, {ColumnMutation mutation = ColumnMutation.add, bool timezoneAware = false, int? precision}) ColumnBuilder
datetimes({bool timezoneAware = false, int precision = 3}) List<ColumnBuilder>
dateTimeTz(String name, {ColumnMutation mutation = ColumnMutation.add, int? precision}) ColumnBuilder
decimal(String name, {int precision = 10, int scale = 0, ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
Adds a decimal column.
double(String name, {ColumnMutation mutation = ColumnMutation.add, int? precision, int? scale}) ColumnBuilder
dropColumn(String name, [List<String>? additional]) → void
Drops one or more columns.
dropColumns(Iterable<String> columns) → void
Drops multiple columns.
dropForeign(String name) → void
Drops a foreign key by name.
dropIndex(String name) → void
Drops an index by name.
dropRememberToken() → void
enum_(String name, List<String> allowedValues, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
float(String name, {ColumnMutation mutation = ColumnMutation.add, int? precision, int? scale}) ColumnBuilder
foreign(Iterable<String> columns, {required String references, required Iterable<String> referencedColumns, ReferenceAction onDelete = ReferenceAction.noAction, ReferenceAction onUpdate = ReferenceAction.noAction, String? name}) ForeignKeyBuilder
Adds a foreign key definition.
foreignId(String name, {ColumnMutation mutation = ColumnMutation.add, bool unsigned = true, String? constrainedTable, String referencedColumn = 'id', ReferenceAction onDelete = ReferenceAction.noAction, ReferenceAction onUpdate = ReferenceAction.noAction}) ColumnBuilder
foreignUlid(String name, {ColumnMutation mutation = ColumnMutation.add, bool nullable = false, String? constrainedTable, String referencedColumn = 'id', ReferenceAction onDelete = ReferenceAction.noAction, ReferenceAction onUpdate = ReferenceAction.noAction}) ColumnBuilder
foreignUuid(String name, {ColumnMutation mutation = ColumnMutation.add, bool nullable = false, String? constrainedTable, String referencedColumn = 'id', ReferenceAction onDelete = ReferenceAction.noAction, ReferenceAction onUpdate = ReferenceAction.noAction}) ColumnBuilder
fullText(Iterable<String> columns, {String? name, SqliteFullTextOptions? sqlite}) IndexDefinition
geography(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
geometry(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
geometryCollection(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
id([String name = 'id']) ColumnBuilder
increments(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
Adds an auto-incrementing big integer primary key column.
index(Iterable<String> columns, {String? name, Map<String, Map<String, Object?>>? driverOptions}) IndexDefinition
Adds an index across the provided columns.
integer(String name, {ColumnMutation mutation = ColumnMutation.add, bool unsigned = false}) ColumnBuilder
Adds an integer column.
integerIncrements(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
ipAddress([String name = 'ip_address', ColumnMutation mutation = ColumnMutation.add]) ColumnBuilder
json(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
Adds a JSON column.
jsonb(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
lineString(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
longText(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
macAddress([String name = 'mac_address', ColumnMutation mutation = ColumnMutation.add]) ColumnBuilder
markTemporary() → void
Marks the table as temporary (where supported by the driver).
mediumIncrements(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
mediumInteger(String name, {ColumnMutation mutation = ColumnMutation.add, bool unsigned = false}) ColumnBuilder
mediumText(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
morphs(String name, {bool nullable = false}) → void
multiLineString(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
multiPoint(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
multiPolygon(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
nullableMorphs(String name) → void
nullableNumericMorphs(String name) → void
nullableTimestamps({bool timezoneAware = false, int precision = 3}) → void
nullableTimestampsTz({int precision = 3}) → void
nullableUlidMorphs(String name) → void
nullableUuidMorphs(String name) → void
numeric(String name, {ColumnMutation mutation = ColumnMutation.add, int precision = 10, int scale = 0}) ColumnBuilder

Available on TableBlueprint, provided by the SqliteTableBlueprintExtensions extension

Adds a NUMERIC column (alias for decimal).
numericMorphs(String name, {bool nullable = false}) → void
point(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
polygon(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
primary(Iterable<String> columns, {String? name}) IndexDefinition
Adds a primary key index across the provided columns.
rawIndex(String expression, {String? name}) IndexDefinition
real(String name, {ColumnMutation mutation = ColumnMutation.add, int? precision, int? scale}) ColumnBuilder

Available on TableBlueprint, provided by the SqliteTableBlueprintExtensions extension

Adds a REAL column (alias for float).
rememberToken({ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
renameColumn(String from, String to) → void
Renames an existing column.
set(String name, List<String> allowedValues, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
setTableCharset(String value) → void
setTableCollation(String value) → void
setTableComment(String value) → void
smallIncrements(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
smallInteger(String name, {ColumnMutation mutation = ColumnMutation.add, bool unsigned = false}) ColumnBuilder
softDeletes({String columnName = 'deleted_at', bool timezoneAware = false, int precision = 3}) → void
softDeletesDatetime({String columnName = 'deleted_at', int precision = 3}) → void
softDeletesTz({String columnName = 'deleted_at', int precision = 3}) → void
spatialIndex(Iterable<String> columns, {String? name, SqliteSpatialIndexOptions? sqlite}) IndexDefinition
string(String name, {int length = 255, ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
Adds a variable length string column.
text(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
Adds a text column.
time(String name, {ColumnMutation mutation = ColumnMutation.add, bool timezoneAware = false}) ColumnBuilder
timestamp(String name, {bool timezoneAware = false, ColumnMutation mutation = ColumnMutation.add, int? precision}) ColumnBuilder
Adds a timestamp column.
timestamps({bool useCurrent = true, bool timezoneAware = false, bool nullable = false, int precision = 3}) → void
Adds created_at and updated_at timestamps.
timestampsTz({bool useCurrent = true, int precision = 3}) → void
timestampTz(String name, {ColumnMutation mutation = ColumnMutation.add, int? precision}) ColumnBuilder
timeTz(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
tinyIncrements(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
tinyInteger(String name, {ColumnMutation mutation = ColumnMutation.add, bool unsigned = false}) ColumnBuilder
tinyText(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
toJson() Map<String, Object?>
toString() String
A string representation of this object.
inherited
ulid(String name, {ColumnMutation mutation = ColumnMutation.add, int length = 26}) ColumnBuilder
ulidMorphs(String name, {bool nullable = false}) → void
unique(Iterable<String> columns, {String? name, Map<String, Map<String, Object?>>? driverOptions}) IndexDefinition
Adds a unique index across the provided columns.
unsignedBigInteger(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
Adds an unsigned big integer column.
unsignedInteger(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
unsignedMediumInteger(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
unsignedSmallInteger(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
unsignedTinyInteger(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
useEngine(String value) → void
uuid(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder
Adds a UUID primary key column.
uuidMorphs(String name, {bool nullable = false}) → void
vector(String name, {ColumnMutation mutation = ColumnMutation.add, int? dimensions}) ColumnBuilder
year(String name, {ColumnMutation mutation = ColumnMutation.add}) ColumnBuilder

Operators

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