VirtualTableInfo<TableDsl extends Table, D> mixin
Additional interface for tables in a drift file that have been created with
an CREATE VIRTUAL TABLE STATEMENT.
- Superclass constraints
- TableInfo<
TableDsl, D>
- TableInfo<
- Mixin applications
- Available extensions
Properties
-
$columns
→ List<
GeneratedColumn< Object> > -
All columns from this table or view.
no setterinherited
-
$primaryKey
→ Set<
GeneratedColumn< Object> > -
The primary key of this table. Can be empty if no custom primary key has
been specified.
no setterinherited
- actualTableName → String
-
The name of the table in the database. Unlike aliasedName, this can not
be aliased.
no setterinherited
- aliasedName → String
-
The (potentially aliased) name of this table or view.
no setterinherited
- asDslTable → TableDsl
-
Type system sugar. Implementations are likely to inherit from both
TableInfo and
Tbland can thus just return their instance.no setterinherited -
columnsByName
→ Map<
String, GeneratedColumn< Object> > -
Gets all $columns in this table or view, indexed by their (non-escaped)
name.
no setterinherited
-
customConstraints
→ List<
String> -
Custom table constraints that should be added to the table.
no setterinherited
- 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 setterinherited
- entityName → String
-
The (unalised) name of this entity in the database.
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- isStrict → bool
-
Whether this table is
STRICT.no setterinherited - moduleAndArgs → String
-
Returns the module name and the arguments that were used in the statement
that created this table. In that sense,
CREATE VIRTUAL TABLE <name> USING <moduleAndArgs>;can be used to create this table in sql.no setter -
primaryKey
→ Set<
Column< Object> > -
Override this to specify custom primary keys:
no setterinherited
-
rowId
→ Expression<
int> -
Available on TableInfo<
In sqlite, each table that isn't virtual and hasn't been created with theTable, dynamic> , provided by the RowIdExtension extensionWITHOUT ROWIDmodified has a row id. When the table has a single primary key column which is an integer, that column is an alias to the row id in sqlite3.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
LocalSettingswill be calledlocal_settingsby 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 setterinherited -
uniqueKeys
→ List<
Set< GeneratedColumn< >Object> > -
The unique key of this table. Can be empty if no custom primary key has
been specified.
no setterinherited
- withoutRowId → bool
-
Whether to append a
WITHOUT ROWIDclause in theCREATE TABLEstatement. This is intended to be used by generated code only.no setterinherited
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:
inherited
-
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):
inherited
-
createAlias(
String alias) → TableInfo< TableDsl, D> -
Creates an alias of this table or view that will write the name
aliaswhen used in a query.inherited -
customType<
T extends Object> (UserDefinedSqlType< T> type) → ColumnBuilder<T> -
Defines a column with a custom
typewhen used as a getter.inherited -
dateTime(
) → ColumnBuilder< DateTime> -
Use this as the body of a getter to declare a column that holds date and
time values.
inherited
-
delete(
) → DeleteStatement< Tbl, Row> -
Available on TableInfo<
Creates a statement to compose aTbl, Row> , provided by the TableStatements extensionDELETEfrom the database. -
deleteAll(
) → Future< int> -
Available on TableInfo<
Deletes ALL rows from the table.Tbl, Row> , provided by the TableStatements extension -
deleteOne(
Insertable< Row> row) → Future<bool> -
Available on TableInfo<
Deletes theTbl, Row> , provided by the TableStatements extensionrowfrom the captured table. -
deleteWhere(
Expression< bool> filter(Tbl tbl)) → Future<int> -
Available on TableInfo<
Deletes all rows matching theTbl, Row> , provided by the TableStatements extensionfilterfrom the table. -
insert(
) → InsertStatement< Tbl, Row> -
Available on TableInfo<
Creates an insert statment to be used to compose an insert on the table.Tbl, Row> , provided by the TableStatements extension -
insertAll(
Iterable< Insertable< rows, {InsertMode? mode, UpsertClause<Row> >Tbl, Row> ? onConflict}) → Future<void> -
Available on TableInfo<
Atomically inserts allTbl, Row> , provided by the TableStatements extensionrowsinto the table. -
insertOnConflictUpdate(
Insertable< Row> row) → Future<int> -
Available on TableInfo<
Inserts one row into this table table, replacing an existing row if it exists already.Tbl, Row> , provided by the TableStatements extension -
insertOne(
Insertable< Row> row, {InsertMode? mode, UpsertClause<Tbl, Row> ? onConflict}) → Future<int> -
Available on TableInfo<
Inserts one row into this table.Tbl, Row> , provided by the TableStatements extension -
insertReturning(
Insertable< Row> row, {InsertMode? mode, UpsertClause<Tbl, Row> ? onConflict}) → Future<Row> -
Available on TableInfo<
Inserts one row into this table and returns it, along with auto-generated fields.Tbl, Row> , provided by the TableStatements extension -
insertReturningOrNull(
Insertable< Row> row, {InsertMode? mode, UpsertClause<Tbl, Row> ? onConflict}) → Future<Row?> -
Available on TableInfo<
Inserts one row into this table and returns it, along with auto-generated fields.Tbl, Row> , provided by the TableStatements extension -
int64(
) → ColumnBuilder< BigInt> -
Use this as the body of a getter to declare a column that holds a 64-big
integer as a BigInt.
inherited
-
integer(
) → ColumnBuilder< int> -
Use this as the body of a getter to declare a column that holds integers.
inherited
-
intEnum<
T extends Enum> () → ColumnBuilder< int> -
Creates a column to store an
enumclassT.inherited -
map(
Map< String, dynamic> data, {String? tablePrefix}) → FutureOr<D> -
Maps the given row returned by the database into the fitting data class.
inherited
-
mapFromCompanion(
Insertable< D> companion, DatabaseConnectionUser database) → Future<D> -
Converts a
companionto the real model class,D.inherited -
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
inherited
-
replaceOne(
Insertable< Row> row) → Future<void> -
Available on TableInfo<
Replaces a single row with an update statement.Tbl, Row> , provided by the TableStatements extension -
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.
inherited
-
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):
inherited
-
textEnum<
T extends Enum> () → ColumnBuilder< String> -
Creates a column to store an
enumclassT.inherited -
toString(
) → String -
A string representation of this object.
inherited
-
update(
) → UpdateStatement< Tbl, Row> -
Available on TableInfo<
Creates a statement to compose anTbl, Row> , provided by the TableStatements extensionUPDATEinto the database. -
validateIntegrity(
Insertable< D> instance, {bool isInserting = false}) → VerificationContext -
Validates that the given entity can be inserted into this table, meaning
that it respects all constraints (nullability, text length, etc.).
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited