flutter_orm_m8 0.2.0 flutter_orm_m8: ^0.2.0 copied to clipboard
Flutter package for ORM annotations. It defines ColumnMetadata, DataTable, DataColumn annotations. The main purpose is to be used by code generators to expand annotated models.
Flutter ORM Mate - flutter_orm_m8 #
Flutter package for ORM annotations.
Introduction #
The package adds definitions for a set of types that could be combined to expand ORM capabilities in the annotated code. The current version, defines three annotation types:
- ColumnMetadata
- DataTable
- DataColumn
In order to ease the code emitting three abstract classes are defined:
- DbEntity
- DbAccountEntity
- DbAccountRelatedEntity
ColumnMetadata #
The ColumnMetadata describes the basic options for a column definition:
- Ignore
- PrimaryKey
- Unique
- NotNull
- AutoIncrement
- Indexed
The options may be combined in various ways using | operator
@DataColumn("id", ColumnMetadata.PrimaryKey | ColumnMetadata.Unique | ColumnMetadata.AutoIncrement)
DataTable #
DataTable describes the required name for the table
@DataTable("a01_tests")
class A01Test implements DbAccountRelatedEntity {
DataColumn #
DataColumn describes the required name for the column in conjunction with a bit mask for required ColumnMetadata's
@DataColumn("id", ColumnMetadata.PrimaryKey | ColumnMetadata.Unique | ColumnMetadata.AutoIncrement)
int _id;
Usage #
@DataTable("a01_tests")
class A01Test implements DbAccountRelatedEntity {
@DataColumn("id", ColumnMetadata.PrimaryKey | ColumnMetadata.Unique | ColumnMetadata.AutoIncrement)
int _id;
@DataColumn("account_id")
int _accountId;
@DataColumn("record_date")
int _recordDate;
@DataColumn("is_deleted")
int _isDeleted;
}