Table class abstract

Subclasses represent a table in a database generated by drift.

For more information on how to write tables, see the documentation

Inheritance
Implementers

Constructors

Table()
Defines a table to be used with drift.
const

Properties

customConstraints List<String>
Custom table constraints that should be added to the table.
no setter
dontWriteConstraints bool
Drift will write some table constraints automatically, for instance when you override primaryKey. You can turn this behavior off if you want to. This is intended to be used by generated code only.
no setter
hashCode int
The hash code for this object.
no setterinherited
isStrict bool
Whether this table is STRICT.
no setter
primaryKey Set<Column<Object>>?
Override this to specify custom primary keys:
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
tableName String?
The sql table name to be used. By default, drift will use the snake_case representation of your class name as the sql table name. For instance, a Table class named LocalSettings will be called local_settings by default. You can change that behavior by overriding this method to use a custom name. Please note that you must directly return a string literal by using a getter. For instance @override String get tableName => 'my_table'; is valid, whereas @override final String tableName = 'my_table'; or @override String get tableName => createMyTableName(); is not.
no setter
uniqueKeys List<Set<Column<Object>>>?
Unique constraints in this table.
no setter
withoutRowId bool
Whether to append a WITHOUT ROWID clause in the CREATE TABLE statement. This is intended to be used by generated code only.
no setter

Methods

blob() ColumnBuilder<Uint8List>
Use this as the body of a getter to declare a column that holds arbitrary data blobs, stored as an Uint8List. Example:
boolean() ColumnBuilder<bool>
Use this as the body of a getter to declare a column that holds bools. Example (inside the body of a table class):
customType<T extends Object>(UserDefinedSqlType<T> type) ColumnBuilder<T>
Defines a column with a custom type when used as a getter.
dateTime() ColumnBuilder<DateTime>
Use this as the body of a getter to declare a column that holds date and time.
int64() ColumnBuilder<BigInt>
Use this as the body of a getter to declare a column that holds a 64-big integer as a BigInt.
integer() ColumnBuilder<int>
Use this as the body of a getter to declare a column that holds integers.
intEnum<T extends Enum>() ColumnBuilder<int>
Creates a column to store an enum class T.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
real() ColumnBuilder<double>
Use this as the body of a getter to declare a column that holds floating point numbers. Example
sqliteAny() ColumnBuilder<DriftAny>
Use this as a the body of a getter to declare a column that holds arbitrary values not modified by drift at runtime.
text() ColumnBuilder<String>
Use this as the body of a getter to declare a column that holds strings. Example (inside the body of a table class):
textEnum<T extends Enum>() ColumnBuilder<String>
Creates a column to store an enum class T.
toString() String
A string representation of this object.
inherited

Operators

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