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
-
- Object
- HasResultSet
- Table
- 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 calledlocal_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 theCREATE 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
classT
. -
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
classT
. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited