dsl library Null safety


Base class for columns in sql. Type T refers to the type a value of this column will have in Dart.
A column builder is used to specify which columns should appear in a table. All of the methods defined in this class and its subclasses are not meant to be called at runtime. Instead, the generator will take a look at your source code (specifically, it will analyze which of the methods you use) to figure out the column structure of a table.
A class to be used as an annotation on Table classes to customize the name for the data class that will be generated for the table class. The data class is a dart object that will be used to represent a row in the table.
Annotation to use on classes that implement DatabaseAccessor. It specifies which tables should be made available in this dao.
Use this class as an annotation to inform the generator that a database class should be generated using the specified DriftDatabase.tables.
An annotation specifying view properties
Base class for dsl Tables and Views.
Annotation to use on column getters inside of a Table to define the name of the column in the json used by DataClass.toJson.
Subclasses represent a table in a database generated by drift.
An annotation specifying an existing class to be used as a data class.
Subclasses represent a view in a database generated by drift.
A column builder for virtual, generated columns.


DSL extension to define a column inside a drift table.
Column builders available for both virtual and non-virtual columns.
Tells the generator to build an IntColumn. See the docs at ColumnBuilder for details.
Tells the generator to build an TextColumn. See the docs at ColumnBuilder for details.


A KeyAction can be used on a BuildColumn.references clause to describe how updates and deletes to a referenced table should propagate in your database.


BlobColumn = Column
A column that stores arbitrary blobs of data as a Uint8List.
BoolColumn = Column<bool?>
A column that stores boolean values. Booleans will be stored as an integer that can either be 0 (false) or 1 (true).
DateTimeColumn = Column<DateTime?>
A column that stores a DateTime. Times will be stored as unix timestamp and will thus have a second accuracy.
Int64Column = Column<BigInt?>
A column that stores BigInt values.
IntColumn = Column<int?>
A column that stores int values.
RealColumn = Column<double?>
A column that stores floating point numeric values.
TextColumn = Column<String?>
A column that stores text.