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
Tbl
and can thus just return their instance.no setterinherited - attachedDatabase → DatabaseConnectionUser
-
The generated database instance that this view or table is attached to.
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 ROWID
modified 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
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 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 ROWID
clause in theCREATE TABLE
statement. 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
alias
when used in a query.inherited -
customType<
T extends Object> (UserDefinedSqlType< T> type) → ColumnBuilder<T> -
Defines a column with a custom
type
when 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.
inherited
-
delete(
) → DeleteStatement< Tbl, Row> -
Available on TableInfo<
Creates a statement to compose aTbl, Row> , provided by the TableStatements extensionDELETE
from 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 extensionrow
from the captured table. -
deleteWhere(
Expression< bool> filter(Tbl tbl)) → Future<int> -
Available on TableInfo<
Deletes all rows matching theTbl, Row> , provided by the TableStatements extensionfilter
from 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 extensionrows
into 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
enum
classT
.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
companion
to 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
enum
classT
.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 extensionUPDATE
into 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