Stand up the Tanemaki monorepo and the first end-to-end vertical slice of Block 1 (offline, encrypted inventory): add a seed → see it in a categorized, searchable list → it persists → reopen and it's still there. Architecture (state management like G1nkgo, adapted to Tane's reality): - flutter_bloc (Cubit-first), but the encrypted Drift DB is the single source of truth; cubits stream from repositories (no hydrated_bloc/Hive, which would write plaintext at rest). - get_it composition root; go_router; slang i18n (ES/EN, Weblate-friendly JSON). Workspace & core: - pub workspace: packages/commons_core (pure Dart) + apps/app_seeds (Flutter). - commons_core primitives: UUIDv7 IdGen, Hybrid Logical Clock, Quantity value type (+ plant-aware QuantityKind), IdentityService root-seed stub. Data & security: - Drift schemaVersion=1 with all 10 Block-1 tables + common CRDT columns (HLC updated_at, last_author, tombstones); Movement append-only. - SQLCipher via an injectable executor that refuses to open a plaintext DB; DB key + root seed in the OS keystore (separate secrets). - Exported drift_schema_v1.json + migration scaffold. Tests (near-TDD; nothing merges without tests): - commons_core units (24), Drift migration test, "no plaintext at rest" security guard (runs where SQLCipher is present, skips otherwise), repository, widget, full quick-add flow, file-reopen persistence, and a no-hardcoded-strings i18n guard. GitLab CI: format + analyze + test + coverage. Follow-on Block-1 stories (item detail/edit, species catalog, germination UI) and all of Block 2 remain out of scope.
1457 lines
No EOL
47 KiB
JSON
1457 lines
No EOL
47 KiB
JSON
{
|
|
"_meta": {
|
|
"description": "This file contains a serialized version of schema entities for drift.",
|
|
"version": "1.3.0"
|
|
},
|
|
"options": {
|
|
"store_date_time_values_as_text": false
|
|
},
|
|
"entities": [
|
|
{
|
|
"id": 0,
|
|
"references": [],
|
|
"type": "table",
|
|
"data": {
|
|
"name": "varieties",
|
|
"was_declared_in_moor": false,
|
|
"columns": [
|
|
{
|
|
"name": "id",
|
|
"getter_name": "id",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"getter_name": "createdAt",
|
|
"moor_type": "int",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "updated_at",
|
|
"getter_name": "updatedAt",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "last_author",
|
|
"getter_name": "lastAuthor",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "is_deleted",
|
|
"getter_name": "isDeleted",
|
|
"moor_type": "bool",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"defaultConstraints": "CHECK (\"is_deleted\" IN (0, 1))",
|
|
"dialectAwareDefaultConstraints": {
|
|
"sqlite": "CHECK (\"is_deleted\" IN (0, 1))"
|
|
},
|
|
"default_dart": "const CustomExpression('0')",
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "schema_row_version",
|
|
"getter_name": "schemaRowVersion",
|
|
"moor_type": "int",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": "const CustomExpression('1')",
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "label",
|
|
"getter_name": "label",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "species_id",
|
|
"getter_name": "speciesId",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "cultivar_name",
|
|
"getter_name": "cultivarName",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "category",
|
|
"getter_name": "category",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "notes",
|
|
"getter_name": "notes",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
}
|
|
],
|
|
"is_virtual": false,
|
|
"without_rowid": false,
|
|
"constraints": [],
|
|
"explicit_pk": [
|
|
"id"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 1,
|
|
"references": [],
|
|
"type": "table",
|
|
"data": {
|
|
"name": "variety_vernacular_names",
|
|
"was_declared_in_moor": false,
|
|
"columns": [
|
|
{
|
|
"name": "id",
|
|
"getter_name": "id",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"getter_name": "createdAt",
|
|
"moor_type": "int",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "updated_at",
|
|
"getter_name": "updatedAt",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "last_author",
|
|
"getter_name": "lastAuthor",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "is_deleted",
|
|
"getter_name": "isDeleted",
|
|
"moor_type": "bool",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"defaultConstraints": "CHECK (\"is_deleted\" IN (0, 1))",
|
|
"dialectAwareDefaultConstraints": {
|
|
"sqlite": "CHECK (\"is_deleted\" IN (0, 1))"
|
|
},
|
|
"default_dart": "const CustomExpression('0')",
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "schema_row_version",
|
|
"getter_name": "schemaRowVersion",
|
|
"moor_type": "int",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": "const CustomExpression('1')",
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "variety_id",
|
|
"getter_name": "varietyId",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "name",
|
|
"getter_name": "name",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "language",
|
|
"getter_name": "language",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "region",
|
|
"getter_name": "region",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
}
|
|
],
|
|
"is_virtual": false,
|
|
"without_rowid": false,
|
|
"constraints": [],
|
|
"explicit_pk": [
|
|
"id"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 2,
|
|
"references": [],
|
|
"type": "table",
|
|
"data": {
|
|
"name": "species",
|
|
"was_declared_in_moor": false,
|
|
"columns": [
|
|
{
|
|
"name": "id",
|
|
"getter_name": "id",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"getter_name": "createdAt",
|
|
"moor_type": "int",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "updated_at",
|
|
"getter_name": "updatedAt",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "last_author",
|
|
"getter_name": "lastAuthor",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "is_deleted",
|
|
"getter_name": "isDeleted",
|
|
"moor_type": "bool",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"defaultConstraints": "CHECK (\"is_deleted\" IN (0, 1))",
|
|
"dialectAwareDefaultConstraints": {
|
|
"sqlite": "CHECK (\"is_deleted\" IN (0, 1))"
|
|
},
|
|
"default_dart": "const CustomExpression('0')",
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "schema_row_version",
|
|
"getter_name": "schemaRowVersion",
|
|
"moor_type": "int",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": "const CustomExpression('1')",
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "scientific_name",
|
|
"getter_name": "scientificName",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "wikidata_qid",
|
|
"getter_name": "wikidataQid",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "gbif_key",
|
|
"getter_name": "gbifKey",
|
|
"moor_type": "int",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "family",
|
|
"getter_name": "family",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "is_bundled",
|
|
"getter_name": "isBundled",
|
|
"moor_type": "bool",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"defaultConstraints": "CHECK (\"is_bundled\" IN (0, 1))",
|
|
"dialectAwareDefaultConstraints": {
|
|
"sqlite": "CHECK (\"is_bundled\" IN (0, 1))"
|
|
},
|
|
"default_dart": "const CustomExpression('0')",
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
}
|
|
],
|
|
"is_virtual": false,
|
|
"without_rowid": false,
|
|
"constraints": [],
|
|
"explicit_pk": [
|
|
"id"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 3,
|
|
"references": [],
|
|
"type": "table",
|
|
"data": {
|
|
"name": "species_common_names",
|
|
"was_declared_in_moor": false,
|
|
"columns": [
|
|
{
|
|
"name": "id",
|
|
"getter_name": "id",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"getter_name": "createdAt",
|
|
"moor_type": "int",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "updated_at",
|
|
"getter_name": "updatedAt",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "last_author",
|
|
"getter_name": "lastAuthor",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "is_deleted",
|
|
"getter_name": "isDeleted",
|
|
"moor_type": "bool",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"defaultConstraints": "CHECK (\"is_deleted\" IN (0, 1))",
|
|
"dialectAwareDefaultConstraints": {
|
|
"sqlite": "CHECK (\"is_deleted\" IN (0, 1))"
|
|
},
|
|
"default_dart": "const CustomExpression('0')",
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "schema_row_version",
|
|
"getter_name": "schemaRowVersion",
|
|
"moor_type": "int",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": "const CustomExpression('1')",
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "species_id",
|
|
"getter_name": "speciesId",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "name",
|
|
"getter_name": "name",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "language",
|
|
"getter_name": "language",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
}
|
|
],
|
|
"is_virtual": false,
|
|
"without_rowid": false,
|
|
"constraints": [],
|
|
"explicit_pk": [
|
|
"id"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 4,
|
|
"references": [],
|
|
"type": "table",
|
|
"data": {
|
|
"name": "lots",
|
|
"was_declared_in_moor": false,
|
|
"columns": [
|
|
{
|
|
"name": "id",
|
|
"getter_name": "id",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"getter_name": "createdAt",
|
|
"moor_type": "int",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "updated_at",
|
|
"getter_name": "updatedAt",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "last_author",
|
|
"getter_name": "lastAuthor",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "is_deleted",
|
|
"getter_name": "isDeleted",
|
|
"moor_type": "bool",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"defaultConstraints": "CHECK (\"is_deleted\" IN (0, 1))",
|
|
"dialectAwareDefaultConstraints": {
|
|
"sqlite": "CHECK (\"is_deleted\" IN (0, 1))"
|
|
},
|
|
"default_dart": "const CustomExpression('0')",
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "schema_row_version",
|
|
"getter_name": "schemaRowVersion",
|
|
"moor_type": "int",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": "const CustomExpression('1')",
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "variety_id",
|
|
"getter_name": "varietyId",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "harvest_year",
|
|
"getter_name": "harvestYear",
|
|
"moor_type": "int",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "quantity_kind",
|
|
"getter_name": "quantityKind",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "quantity_precise",
|
|
"getter_name": "quantityPrecise",
|
|
"moor_type": "double",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "quantity_label",
|
|
"getter_name": "quantityLabel",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "storage_location",
|
|
"getter_name": "storageLocation",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "offer_status",
|
|
"getter_name": "offerStatus",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": "const CustomExpression('\\'private\\'')",
|
|
"default_client_dart": null,
|
|
"dsl_features": [],
|
|
"type_converter": {
|
|
"dart_expr": "const EnumNameConverter<OfferStatus>(OfferStatus.values)",
|
|
"dart_type_name": "OfferStatus"
|
|
}
|
|
},
|
|
{
|
|
"name": "seedbank_id",
|
|
"getter_name": "seedbankId",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
}
|
|
],
|
|
"is_virtual": false,
|
|
"without_rowid": false,
|
|
"constraints": [],
|
|
"explicit_pk": [
|
|
"id"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 5,
|
|
"references": [],
|
|
"type": "table",
|
|
"data": {
|
|
"name": "germination_tests",
|
|
"was_declared_in_moor": false,
|
|
"columns": [
|
|
{
|
|
"name": "id",
|
|
"getter_name": "id",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"getter_name": "createdAt",
|
|
"moor_type": "int",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "updated_at",
|
|
"getter_name": "updatedAt",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "last_author",
|
|
"getter_name": "lastAuthor",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "is_deleted",
|
|
"getter_name": "isDeleted",
|
|
"moor_type": "bool",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"defaultConstraints": "CHECK (\"is_deleted\" IN (0, 1))",
|
|
"dialectAwareDefaultConstraints": {
|
|
"sqlite": "CHECK (\"is_deleted\" IN (0, 1))"
|
|
},
|
|
"default_dart": "const CustomExpression('0')",
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "schema_row_version",
|
|
"getter_name": "schemaRowVersion",
|
|
"moor_type": "int",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": "const CustomExpression('1')",
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "lot_id",
|
|
"getter_name": "lotId",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "tested_on",
|
|
"getter_name": "testedOn",
|
|
"moor_type": "int",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "sample_size",
|
|
"getter_name": "sampleSize",
|
|
"moor_type": "int",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "germinated_count",
|
|
"getter_name": "germinatedCount",
|
|
"moor_type": "int",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "notes",
|
|
"getter_name": "notes",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
}
|
|
],
|
|
"is_virtual": false,
|
|
"without_rowid": false,
|
|
"constraints": [],
|
|
"explicit_pk": [
|
|
"id"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 6,
|
|
"references": [],
|
|
"type": "table",
|
|
"data": {
|
|
"name": "movements",
|
|
"was_declared_in_moor": false,
|
|
"columns": [
|
|
{
|
|
"name": "id",
|
|
"getter_name": "id",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"getter_name": "createdAt",
|
|
"moor_type": "int",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "last_author",
|
|
"getter_name": "lastAuthor",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "schema_row_version",
|
|
"getter_name": "schemaRowVersion",
|
|
"moor_type": "int",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": "const CustomExpression('1')",
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "lot_id",
|
|
"getter_name": "lotId",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "type",
|
|
"getter_name": "type",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": [],
|
|
"type_converter": {
|
|
"dart_expr": "const EnumNameConverter<MovementType>(MovementType.values)",
|
|
"dart_type_name": "MovementType"
|
|
}
|
|
},
|
|
{
|
|
"name": "occurred_on",
|
|
"getter_name": "occurredOn",
|
|
"moor_type": "int",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "counterparty_id",
|
|
"getter_name": "counterpartyId",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "quantity_kind",
|
|
"getter_name": "quantityKind",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "quantity_precise",
|
|
"getter_name": "quantityPrecise",
|
|
"moor_type": "double",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "quantity_label",
|
|
"getter_name": "quantityLabel",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "parent_movement_id",
|
|
"getter_name": "parentMovementId",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "plantare_id",
|
|
"getter_name": "plantareId",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "notes",
|
|
"getter_name": "notes",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
}
|
|
],
|
|
"is_virtual": false,
|
|
"without_rowid": false,
|
|
"constraints": [],
|
|
"explicit_pk": [
|
|
"id"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 7,
|
|
"references": [],
|
|
"type": "table",
|
|
"data": {
|
|
"name": "parties",
|
|
"was_declared_in_moor": false,
|
|
"columns": [
|
|
{
|
|
"name": "id",
|
|
"getter_name": "id",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"getter_name": "createdAt",
|
|
"moor_type": "int",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "updated_at",
|
|
"getter_name": "updatedAt",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "last_author",
|
|
"getter_name": "lastAuthor",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "is_deleted",
|
|
"getter_name": "isDeleted",
|
|
"moor_type": "bool",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"defaultConstraints": "CHECK (\"is_deleted\" IN (0, 1))",
|
|
"dialectAwareDefaultConstraints": {
|
|
"sqlite": "CHECK (\"is_deleted\" IN (0, 1))"
|
|
},
|
|
"default_dart": "const CustomExpression('0')",
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "schema_row_version",
|
|
"getter_name": "schemaRowVersion",
|
|
"moor_type": "int",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": "const CustomExpression('1')",
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "display_name",
|
|
"getter_name": "displayName",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "public_key",
|
|
"getter_name": "publicKey",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "kind",
|
|
"getter_name": "kind",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": "const CustomExpression('\\'person\\'')",
|
|
"default_client_dart": null,
|
|
"dsl_features": [],
|
|
"type_converter": {
|
|
"dart_expr": "const EnumNameConverter<PartyKind>(PartyKind.values)",
|
|
"dart_type_name": "PartyKind"
|
|
}
|
|
},
|
|
{
|
|
"name": "note",
|
|
"getter_name": "note",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
}
|
|
],
|
|
"is_virtual": false,
|
|
"without_rowid": false,
|
|
"constraints": [],
|
|
"explicit_pk": [
|
|
"id"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 8,
|
|
"references": [],
|
|
"type": "table",
|
|
"data": {
|
|
"name": "attachments",
|
|
"was_declared_in_moor": false,
|
|
"columns": [
|
|
{
|
|
"name": "id",
|
|
"getter_name": "id",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"getter_name": "createdAt",
|
|
"moor_type": "int",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "updated_at",
|
|
"getter_name": "updatedAt",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "last_author",
|
|
"getter_name": "lastAuthor",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "is_deleted",
|
|
"getter_name": "isDeleted",
|
|
"moor_type": "bool",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"defaultConstraints": "CHECK (\"is_deleted\" IN (0, 1))",
|
|
"dialectAwareDefaultConstraints": {
|
|
"sqlite": "CHECK (\"is_deleted\" IN (0, 1))"
|
|
},
|
|
"default_dart": "const CustomExpression('0')",
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "schema_row_version",
|
|
"getter_name": "schemaRowVersion",
|
|
"moor_type": "int",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": "const CustomExpression('1')",
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "parent_type",
|
|
"getter_name": "parentType",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": [],
|
|
"type_converter": {
|
|
"dart_expr": "const EnumNameConverter<ParentType>(ParentType.values)",
|
|
"dart_type_name": "ParentType"
|
|
}
|
|
},
|
|
{
|
|
"name": "parent_id",
|
|
"getter_name": "parentId",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "kind",
|
|
"getter_name": "kind",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": [],
|
|
"type_converter": {
|
|
"dart_expr": "const EnumNameConverter<AttachmentKind>(AttachmentKind.values)",
|
|
"dart_type_name": "AttachmentKind"
|
|
}
|
|
},
|
|
{
|
|
"name": "uri",
|
|
"getter_name": "uri",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "bytes",
|
|
"getter_name": "bytes",
|
|
"moor_type": "blob",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "mime_type",
|
|
"getter_name": "mimeType",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
}
|
|
],
|
|
"is_virtual": false,
|
|
"without_rowid": false,
|
|
"constraints": [],
|
|
"explicit_pk": [
|
|
"id"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 9,
|
|
"references": [],
|
|
"type": "table",
|
|
"data": {
|
|
"name": "external_links",
|
|
"was_declared_in_moor": false,
|
|
"columns": [
|
|
{
|
|
"name": "id",
|
|
"getter_name": "id",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"getter_name": "createdAt",
|
|
"moor_type": "int",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "updated_at",
|
|
"getter_name": "updatedAt",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "last_author",
|
|
"getter_name": "lastAuthor",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "is_deleted",
|
|
"getter_name": "isDeleted",
|
|
"moor_type": "bool",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"defaultConstraints": "CHECK (\"is_deleted\" IN (0, 1))",
|
|
"dialectAwareDefaultConstraints": {
|
|
"sqlite": "CHECK (\"is_deleted\" IN (0, 1))"
|
|
},
|
|
"default_dart": "const CustomExpression('0')",
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "schema_row_version",
|
|
"getter_name": "schemaRowVersion",
|
|
"moor_type": "int",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": "const CustomExpression('1')",
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "parent_type",
|
|
"getter_name": "parentType",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": [],
|
|
"type_converter": {
|
|
"dart_expr": "const EnumNameConverter<ParentType>(ParentType.values)",
|
|
"dart_type_name": "ParentType"
|
|
}
|
|
},
|
|
{
|
|
"name": "parent_id",
|
|
"getter_name": "parentId",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "url",
|
|
"getter_name": "url",
|
|
"moor_type": "string",
|
|
"nullable": false,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
},
|
|
{
|
|
"name": "title",
|
|
"getter_name": "title",
|
|
"moor_type": "string",
|
|
"nullable": true,
|
|
"customConstraints": null,
|
|
"default_dart": null,
|
|
"default_client_dart": null,
|
|
"dsl_features": []
|
|
}
|
|
],
|
|
"is_virtual": false,
|
|
"without_rowid": false,
|
|
"constraints": [],
|
|
"explicit_pk": [
|
|
"id"
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"fixed_sql": [
|
|
{
|
|
"name": "varieties",
|
|
"sql": [
|
|
{
|
|
"dialect": "sqlite",
|
|
"sql": "CREATE TABLE IF NOT EXISTS \"varieties\" (\"id\" TEXT NOT NULL, \"created_at\" INTEGER NOT NULL, \"updated_at\" TEXT NOT NULL, \"last_author\" TEXT NOT NULL, \"is_deleted\" INTEGER NOT NULL DEFAULT 0 CHECK (\"is_deleted\" IN (0, 1)), \"schema_row_version\" INTEGER NOT NULL DEFAULT 1, \"label\" TEXT NOT NULL, \"species_id\" TEXT NULL, \"cultivar_name\" TEXT NULL, \"category\" TEXT NULL, \"notes\" TEXT NULL, PRIMARY KEY (\"id\"));"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "variety_vernacular_names",
|
|
"sql": [
|
|
{
|
|
"dialect": "sqlite",
|
|
"sql": "CREATE TABLE IF NOT EXISTS \"variety_vernacular_names\" (\"id\" TEXT NOT NULL, \"created_at\" INTEGER NOT NULL, \"updated_at\" TEXT NOT NULL, \"last_author\" TEXT NOT NULL, \"is_deleted\" INTEGER NOT NULL DEFAULT 0 CHECK (\"is_deleted\" IN (0, 1)), \"schema_row_version\" INTEGER NOT NULL DEFAULT 1, \"variety_id\" TEXT NOT NULL, \"name\" TEXT NOT NULL, \"language\" TEXT NULL, \"region\" TEXT NULL, PRIMARY KEY (\"id\"));"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "species",
|
|
"sql": [
|
|
{
|
|
"dialect": "sqlite",
|
|
"sql": "CREATE TABLE IF NOT EXISTS \"species\" (\"id\" TEXT NOT NULL, \"created_at\" INTEGER NOT NULL, \"updated_at\" TEXT NOT NULL, \"last_author\" TEXT NOT NULL, \"is_deleted\" INTEGER NOT NULL DEFAULT 0 CHECK (\"is_deleted\" IN (0, 1)), \"schema_row_version\" INTEGER NOT NULL DEFAULT 1, \"scientific_name\" TEXT NOT NULL, \"wikidata_qid\" TEXT NULL, \"gbif_key\" INTEGER NULL, \"family\" TEXT NULL, \"is_bundled\" INTEGER NOT NULL DEFAULT 0 CHECK (\"is_bundled\" IN (0, 1)), PRIMARY KEY (\"id\"));"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "species_common_names",
|
|
"sql": [
|
|
{
|
|
"dialect": "sqlite",
|
|
"sql": "CREATE TABLE IF NOT EXISTS \"species_common_names\" (\"id\" TEXT NOT NULL, \"created_at\" INTEGER NOT NULL, \"updated_at\" TEXT NOT NULL, \"last_author\" TEXT NOT NULL, \"is_deleted\" INTEGER NOT NULL DEFAULT 0 CHECK (\"is_deleted\" IN (0, 1)), \"schema_row_version\" INTEGER NOT NULL DEFAULT 1, \"species_id\" TEXT NOT NULL, \"name\" TEXT NOT NULL, \"language\" TEXT NULL, PRIMARY KEY (\"id\"));"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "lots",
|
|
"sql": [
|
|
{
|
|
"dialect": "sqlite",
|
|
"sql": "CREATE TABLE IF NOT EXISTS \"lots\" (\"id\" TEXT NOT NULL, \"created_at\" INTEGER NOT NULL, \"updated_at\" TEXT NOT NULL, \"last_author\" TEXT NOT NULL, \"is_deleted\" INTEGER NOT NULL DEFAULT 0 CHECK (\"is_deleted\" IN (0, 1)), \"schema_row_version\" INTEGER NOT NULL DEFAULT 1, \"variety_id\" TEXT NOT NULL, \"harvest_year\" INTEGER NULL, \"quantity_kind\" TEXT NULL, \"quantity_precise\" REAL NULL, \"quantity_label\" TEXT NULL, \"storage_location\" TEXT NULL, \"offer_status\" TEXT NOT NULL DEFAULT 'private', \"seedbank_id\" TEXT NULL, PRIMARY KEY (\"id\"));"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "germination_tests",
|
|
"sql": [
|
|
{
|
|
"dialect": "sqlite",
|
|
"sql": "CREATE TABLE IF NOT EXISTS \"germination_tests\" (\"id\" TEXT NOT NULL, \"created_at\" INTEGER NOT NULL, \"updated_at\" TEXT NOT NULL, \"last_author\" TEXT NOT NULL, \"is_deleted\" INTEGER NOT NULL DEFAULT 0 CHECK (\"is_deleted\" IN (0, 1)), \"schema_row_version\" INTEGER NOT NULL DEFAULT 1, \"lot_id\" TEXT NOT NULL, \"tested_on\" INTEGER NULL, \"sample_size\" INTEGER NULL, \"germinated_count\" INTEGER NULL, \"notes\" TEXT NULL, PRIMARY KEY (\"id\"));"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "movements",
|
|
"sql": [
|
|
{
|
|
"dialect": "sqlite",
|
|
"sql": "CREATE TABLE IF NOT EXISTS \"movements\" (\"id\" TEXT NOT NULL, \"created_at\" INTEGER NOT NULL, \"last_author\" TEXT NOT NULL, \"schema_row_version\" INTEGER NOT NULL DEFAULT 1, \"lot_id\" TEXT NOT NULL, \"type\" TEXT NOT NULL, \"occurred_on\" INTEGER NULL, \"counterparty_id\" TEXT NULL, \"quantity_kind\" TEXT NULL, \"quantity_precise\" REAL NULL, \"quantity_label\" TEXT NULL, \"parent_movement_id\" TEXT NULL, \"plantare_id\" TEXT NULL, \"notes\" TEXT NULL, PRIMARY KEY (\"id\"));"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "parties",
|
|
"sql": [
|
|
{
|
|
"dialect": "sqlite",
|
|
"sql": "CREATE TABLE IF NOT EXISTS \"parties\" (\"id\" TEXT NOT NULL, \"created_at\" INTEGER NOT NULL, \"updated_at\" TEXT NOT NULL, \"last_author\" TEXT NOT NULL, \"is_deleted\" INTEGER NOT NULL DEFAULT 0 CHECK (\"is_deleted\" IN (0, 1)), \"schema_row_version\" INTEGER NOT NULL DEFAULT 1, \"display_name\" TEXT NOT NULL, \"public_key\" TEXT NULL, \"kind\" TEXT NOT NULL DEFAULT 'person', \"note\" TEXT NULL, PRIMARY KEY (\"id\"));"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "attachments",
|
|
"sql": [
|
|
{
|
|
"dialect": "sqlite",
|
|
"sql": "CREATE TABLE IF NOT EXISTS \"attachments\" (\"id\" TEXT NOT NULL, \"created_at\" INTEGER NOT NULL, \"updated_at\" TEXT NOT NULL, \"last_author\" TEXT NOT NULL, \"is_deleted\" INTEGER NOT NULL DEFAULT 0 CHECK (\"is_deleted\" IN (0, 1)), \"schema_row_version\" INTEGER NOT NULL DEFAULT 1, \"parent_type\" TEXT NOT NULL, \"parent_id\" TEXT NOT NULL, \"kind\" TEXT NOT NULL, \"uri\" TEXT NULL, \"bytes\" BLOB NULL, \"mime_type\" TEXT NULL, PRIMARY KEY (\"id\"));"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "external_links",
|
|
"sql": [
|
|
{
|
|
"dialect": "sqlite",
|
|
"sql": "CREATE TABLE IF NOT EXISTS \"external_links\" (\"id\" TEXT NOT NULL, \"created_at\" INTEGER NOT NULL, \"updated_at\" TEXT NOT NULL, \"last_author\" TEXT NOT NULL, \"is_deleted\" INTEGER NOT NULL DEFAULT 0 CHECK (\"is_deleted\" IN (0, 1)), \"schema_row_version\" INTEGER NOT NULL DEFAULT 1, \"parent_type\" TEXT NOT NULL, \"parent_id\" TEXT NOT NULL, \"url\" TEXT NOT NULL, \"title\" TEXT NULL, PRIMARY KEY (\"id\"));"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
} |