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<
Properties
- 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.read-only - asDslTable → TableDsl
-
Type system sugar. Implementations are likely to inherit from both
TableInfo and
Tbl
and can thus just return their instance.read-onlyinherited -
$primaryKey
→ Set<
GeneratedColumn< Object> > -
The primary key of this table. Can be empty if no custom primary key has
been specified.
read-onlyinherited
-
primaryKey
→ Set<
Column< Object> > -
Override this to specify custom primary keys:
read-onlyinherited
-
uniqueKeys
→ List<
Set< GeneratedColumn< >Object> > -
The unique key of this table. Can be empty if no custom primary key has
been specified.
read-onlyinherited
- aliasedName → String
-
The (potentially aliased) name of this table or view.
read-onlyinherited
- actualTableName → String
-
The name of the table in the database. Unlike aliasedName, this can not
be aliased.
read-onlyinherited
- entityName → String
-
The (unalised) name of this entity in the database.
read-onlyinherited
-
columnsByName
→ Map<
String, GeneratedColumn< Object> > -
Gets all $columns in this table or view, indexed by their (non-escaped)
name.
read-onlyinherited
- hashCode → int
-
The hash code for this object.
read-onlyinherited
- 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.read-onlyinherited - withoutRowId → bool
-
Whether to append a
WITHOUT ROWID
clause in theCREATE TABLE
statement. This is intended to be used by generated code only.read-onlyinherited - 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.
read-onlyinherited
- isStrict → bool
-
Whether this table is
STRICT
.read-onlyinherited -
customConstraints
→ List<
String> -
Custom table constraints that should be added to the table.
read-onlyinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-onlyinherited
- attachedDatabase → DatabaseConnectionUser
-
The generated database instance that this view or table is attached to.
read-onlyinherited
-
$columns
→ List<
GeneratedColumn< Object> > -
All columns from this table or view.
read-onlyinherited
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 -
dateTime(
) → ColumnBuilder< DateTime> -
Use this as the body of a getter to declare a column that holds date and
time.
inherited
-
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
-
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
-
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