Files
MrbWebLibre/app/drift_schemas/bangs/drift_schema_v5.json
T
2026-03-27 19:55:11 +01:00

912 lines
29 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": "bang",
"was_declared_in_moor": true,
"columns": [
{
"name": "trigger",
"getter_name": "trigger",
"moor_type": "string",
"nullable": false,
"customConstraints": "NOT NULL",
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "group",
"getter_name": "group",
"moor_type": "int",
"nullable": false,
"customConstraints": "NOT NULL",
"default_dart": null,
"default_client_dart": null,
"dsl_features": [],
"type_converter": {
"dart_expr": "const EnumIndexConverter<BangGroup>(BangGroup.values)",
"dart_type_name": "BangGroup"
}
},
{
"name": "website_name",
"getter_name": "websiteName",
"moor_type": "string",
"nullable": false,
"customConstraints": "NOT NULL",
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "domain",
"getter_name": "domain",
"moor_type": "string",
"nullable": false,
"customConstraints": "NOT NULL",
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "url_template",
"getter_name": "urlTemplate",
"moor_type": "string",
"nullable": false,
"customConstraints": "NOT NULL",
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "category",
"getter_name": "category",
"moor_type": "string",
"nullable": true,
"customConstraints": "",
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "sub_category",
"getter_name": "subCategory",
"moor_type": "string",
"nullable": true,
"customConstraints": "",
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "format",
"getter_name": "format",
"moor_type": "string",
"nullable": true,
"customConstraints": "",
"default_dart": null,
"default_client_dart": null,
"dsl_features": [],
"type_converter": {
"dart_expr": "const BangFormatConverter()",
"dart_type_name": "Set<BangFormat>?"
}
},
{
"name": "additional_triggers",
"getter_name": "additionalTriggers",
"moor_type": "string",
"nullable": true,
"customConstraints": "",
"default_dart": null,
"default_client_dart": null,
"dsl_features": [],
"type_converter": {
"dart_expr": "const TriggerListConverter()",
"dart_type_name": "Set<String>?"
}
},
{
"name": "searxng_api",
"getter_name": "searxngApi",
"moor_type": "bool",
"nullable": false,
"customConstraints": "NOT NULL DEFAULT FALSE",
"default_dart": "const CustomExpression('FALSE')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "snap_domain",
"getter_name": "snapDomain",
"moor_type": "string",
"nullable": true,
"customConstraints": "",
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": [
"PRIMARY KEY(\"trigger\", \"group\")"
],
"explicit_pk": [
"trigger",
"group"
]
}
},
{
"id": 1,
"references": [
0
],
"type": "table",
"data": {
"name": "bang_triggers",
"was_declared_in_moor": true,
"columns": [
{
"name": "trigger",
"getter_name": "trigger",
"moor_type": "string",
"nullable": false,
"customConstraints": "NOT NULL",
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "group",
"getter_name": "group",
"moor_type": "int",
"nullable": false,
"customConstraints": "NOT NULL",
"default_dart": null,
"default_client_dart": null,
"dsl_features": [],
"type_converter": {
"dart_expr": "const EnumIndexConverter<BangGroup>(BangGroup.values)",
"dart_type_name": "BangGroup"
}
},
{
"name": "additional_trigger",
"getter_name": "additionalTrigger",
"moor_type": "string",
"nullable": false,
"customConstraints": "NOT NULL",
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": [
"PRIMARY KEY(\"trigger\", \"group\", additional_trigger)",
"FOREIGN KEY(\"trigger\", \"group\")REFERENCES bang(\"trigger\", \"group\")ON DELETE CASCADE"
],
"explicit_pk": [
"trigger",
"group",
"additional_trigger"
]
}
},
{
"id": 2,
"references": [
1
],
"type": "index",
"data": {
"on": 1,
"name": "idx_bang_triggers_lookup",
"sql": "CREATE INDEX idx_bang_triggers_lookup ON bang_triggers (additional_trigger, \"group\");",
"unique": false,
"columns": []
}
},
{
"id": 3,
"references": [
0,
1
],
"type": "trigger",
"data": {
"on": 0,
"references_in_body": [
0,
1
],
"name": "bang_triggers_after_insert",
"sql": "CREATE TRIGGER bang_triggers_after_insert AFTER INSERT ON bang \nWHEN new.additional_triggers IS NOT NULL\nBEGIN\n INSERT INTO bang_triggers(\"trigger\", \"group\", additional_trigger)\n SELECT \n new.\"trigger\",\n new.\"group\",\n json_each.value\n FROM json_each(new.additional_triggers);\nEND;"
}
},
{
"id": 4,
"references": [
0,
1
],
"type": "trigger",
"data": {
"on": 0,
"references_in_body": [
0,
1
],
"name": "bang_triggers_after_update",
"sql": "CREATE TRIGGER bang_triggers_after_update AFTER UPDATE ON bang BEGIN\n -- Delete old additional triggers\n DELETE FROM bang_triggers \n WHERE \"trigger\" = old.\"trigger\" AND \"group\" = old.\"group\";\n\n -- Insert new additional triggers if they exist\n INSERT INTO bang_triggers(\"trigger\", \"group\", additional_trigger)\n SELECT \n new.\"trigger\",\n new.\"group\",\n json_each.value\n FROM json_each(new.additional_triggers)\n WHERE new.additional_triggers IS NOT NULL;\nEND;"
}
},
{
"id": 5,
"references": [],
"type": "table",
"data": {
"name": "bang_sync",
"was_declared_in_moor": true,
"columns": [
{
"name": "group",
"getter_name": "group",
"moor_type": "int",
"nullable": false,
"customConstraints": "PRIMARY KEY NOT NULL",
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
"primary-key"
],
"type_converter": {
"dart_expr": "const EnumIndexConverter<BangGroup>(BangGroup.values)",
"dart_type_name": "BangGroup"
}
},
{
"name": "last_sync",
"getter_name": "lastSync",
"moor_type": "dateTime",
"nullable": false,
"customConstraints": "NOT NULL",
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": []
}
},
{
"id": 6,
"references": [
0
],
"type": "table",
"data": {
"name": "bang_frequency",
"was_declared_in_moor": true,
"columns": [
{
"name": "trigger",
"getter_name": "trigger",
"moor_type": "string",
"nullable": false,
"customConstraints": "NOT NULL",
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "group",
"getter_name": "group",
"moor_type": "int",
"nullable": false,
"customConstraints": "NOT NULL",
"default_dart": null,
"default_client_dart": null,
"dsl_features": [],
"type_converter": {
"dart_expr": "const EnumIndexConverter<BangGroup>(BangGroup.values)",
"dart_type_name": "BangGroup"
}
},
{
"name": "frequency",
"getter_name": "frequency",
"moor_type": "int",
"nullable": false,
"customConstraints": "NOT NULL",
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "last_used",
"getter_name": "lastUsed",
"moor_type": "dateTime",
"nullable": false,
"customConstraints": "NOT NULL",
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": [
"PRIMARY KEY(\"trigger\", \"group\")",
"FOREIGN KEY(\"trigger\", \"group\")REFERENCES bang(\"trigger\", \"group\")ON DELETE CASCADE"
],
"explicit_pk": [
"trigger",
"group"
]
}
},
{
"id": 7,
"references": [
0
],
"type": "table",
"data": {
"name": "bang_history",
"was_declared_in_moor": true,
"columns": [
{
"name": "search_query",
"getter_name": "searchQuery",
"moor_type": "string",
"nullable": false,
"customConstraints": "UNIQUE NOT NULL",
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
"unique"
]
},
{
"name": "trigger",
"getter_name": "trigger",
"moor_type": "string",
"nullable": false,
"customConstraints": "NOT NULL",
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "group",
"getter_name": "group",
"moor_type": "int",
"nullable": false,
"customConstraints": "NOT NULL",
"default_dart": null,
"default_client_dart": null,
"dsl_features": [],
"type_converter": {
"dart_expr": "const EnumIndexConverter<BangGroup>(BangGroup.values)",
"dart_type_name": "BangGroup"
}
},
{
"name": "search_date",
"getter_name": "searchDate",
"moor_type": "dateTime",
"nullable": false,
"customConstraints": "NOT NULL",
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": [
"FOREIGN KEY(\"trigger\", \"group\")REFERENCES bang(\"trigger\", \"group\")ON DELETE CASCADE"
]
}
},
{
"id": 8,
"references": [
0
],
"type": "table",
"data": {
"name": "bang_fts",
"was_declared_in_moor": true,
"columns": [
{
"name": "trigger",
"getter_name": "trigger",
"moor_type": "string",
"nullable": false,
"customConstraints": "",
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "website_name",
"getter_name": "websiteName",
"moor_type": "string",
"nullable": false,
"customConstraints": "",
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": true,
"create_virtual_stmt": "CREATE VIRTUAL TABLE \"bang_fts\" USING fts5(trigger, website_name, content=bang, prefix='2 3')",
"without_rowid": false,
"constraints": []
}
},
{
"id": 9,
"references": [
1
],
"type": "table",
"data": {
"name": "bang_triggers_fts",
"was_declared_in_moor": true,
"columns": [
{
"name": "additional_trigger",
"getter_name": "additionalTrigger",
"moor_type": "string",
"nullable": false,
"customConstraints": "",
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": true,
"create_virtual_stmt": "CREATE VIRTUAL TABLE \"bang_triggers_fts\" USING fts5(additional_trigger, content=bang_triggers, prefix='2 3')",
"without_rowid": false,
"constraints": []
}
},
{
"id": 10,
"references": [
0,
6
],
"type": "view",
"data": {
"name": "bang_data_view",
"sql": "CREATE VIEW bang_data_view AS SELECT b.*, bf.frequency, bf.last_used FROM bang AS b LEFT JOIN bang_frequency AS bf ON b.\"trigger\" = bf.\"trigger\" AND b.\"group\" = bf.\"group\"",
"dart_info_name": "BangDataView",
"columns": [
{
"name": "trigger",
"getter_name": "trigger",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "group",
"getter_name": "group",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": [],
"type_converter": {
"dart_expr": "const EnumIndexConverter<BangGroup>(BangGroup.values)",
"dart_type_name": "BangGroup"
}
},
{
"name": "website_name",
"getter_name": "websiteName",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "domain",
"getter_name": "domain",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "url_template",
"getter_name": "urlTemplate",
"moor_type": "string",
"nullable": false,
"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": "sub_category",
"getter_name": "subCategory",
"moor_type": "string",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "format",
"getter_name": "format",
"moor_type": "string",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": [],
"type_converter": {
"dart_expr": "const BangFormatConverter()",
"dart_type_name": "Set<BangFormat>?"
}
},
{
"name": "additional_triggers",
"getter_name": "additionalTriggers",
"moor_type": "string",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": [],
"type_converter": {
"dart_expr": "const TriggerListConverter()",
"dart_type_name": "Set<String>?"
}
},
{
"name": "searxng_api",
"getter_name": "searxngApi",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"searxng_api\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"searxng_api\" IN (0, 1))"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "snap_domain",
"getter_name": "snapDomain",
"moor_type": "string",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "frequency",
"getter_name": "frequency",
"moor_type": "int",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "last_used",
"getter_name": "lastUsed",
"moor_type": "dateTime",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
}
]
}
},
{
"id": 11,
"references": [
0,
8
],
"type": "trigger",
"data": {
"on": 0,
"references_in_body": [
0,
8
],
"name": "bang_after_insert",
"sql": "CREATE TRIGGER bang_after_insert AFTER INSERT ON bang BEGIN\n INSERT INTO \n bang_fts(rowid, \"trigger\", website_name) \n VALUES (new.rowid, new.\"trigger\", new.website_name);\nEND;"
}
},
{
"id": 12,
"references": [
0,
8
],
"type": "trigger",
"data": {
"on": 0,
"references_in_body": [
0,
8
],
"name": "bang_after_delete",
"sql": "CREATE TRIGGER bang_after_delete AFTER DELETE ON bang BEGIN\n INSERT INTO \n bang_fts(bang_fts, rowid, \"trigger\", website_name) \n VALUES('delete', old.rowid, old.\"trigger\", old.website_name);\nEND;"
}
},
{
"id": 13,
"references": [
0,
8
],
"type": "trigger",
"data": {
"on": 0,
"references_in_body": [
0,
8
],
"name": "bang_after_update",
"sql": "CREATE TRIGGER bang_after_update AFTER UPDATE ON bang BEGIN\n INSERT INTO \n bang_fts(bang_fts, rowid, \"trigger\", website_name) \n VALUES('delete', old.rowid, old.\"trigger\", old.website_name);\n INSERT INTO \n bang_fts(rowid, \"trigger\", website_name) \n VALUES (new.rowid, new.\"trigger\", new.website_name);\nEND;"
}
},
{
"id": 14,
"references": [
1,
9
],
"type": "trigger",
"data": {
"on": 1,
"references_in_body": [
1,
9
],
"name": "bang_triggers_after_insert_fts",
"sql": "CREATE TRIGGER bang_triggers_after_insert_fts AFTER INSERT ON bang_triggers BEGIN\n INSERT INTO \n bang_triggers_fts(rowid, additional_trigger) \n VALUES (new.rowid, new.additional_trigger);\nEND;"
}
},
{
"id": 15,
"references": [
1,
9
],
"type": "trigger",
"data": {
"on": 1,
"references_in_body": [
1,
9
],
"name": "bang_triggers_after_delete_fts",
"sql": "CREATE TRIGGER bang_triggers_after_delete_fts AFTER DELETE ON bang_triggers BEGIN\n INSERT INTO \n bang_triggers_fts(bang_triggers_fts, rowid, additional_trigger) \n VALUES('delete', old.rowid, old.additional_trigger);\nEND;"
}
},
{
"id": 16,
"references": [
1,
9
],
"type": "trigger",
"data": {
"on": 1,
"references_in_body": [
1,
9
],
"name": "bang_triggers_after_update_fts",
"sql": "CREATE TRIGGER bang_triggers_after_update_fts AFTER UPDATE ON bang_triggers BEGIN\n INSERT INTO \n bang_triggers_fts(bang_triggers_fts, rowid, additional_trigger) \n VALUES('delete', old.rowid, old.additional_trigger);\n INSERT INTO \n bang_triggers_fts(rowid, additional_trigger) \n VALUES (new.rowid, new.additional_trigger);\nEND;"
}
}
],
"fixed_sql": [
{
"name": "bang",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"bang\" (\"trigger\" TEXT NOT NULL, \"group\" INTEGER NOT NULL, \"website_name\" TEXT NOT NULL, \"domain\" TEXT NOT NULL, \"url_template\" TEXT NOT NULL, \"category\" TEXT, \"sub_category\" TEXT, \"format\" TEXT, \"additional_triggers\" TEXT, \"searxng_api\" INTEGER NOT NULL DEFAULT FALSE, \"snap_domain\" TEXT, PRIMARY KEY(\"trigger\", \"group\"));"
}
]
},
{
"name": "bang_triggers",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"bang_triggers\" (\"trigger\" TEXT NOT NULL, \"group\" INTEGER NOT NULL, \"additional_trigger\" TEXT NOT NULL, PRIMARY KEY(\"trigger\", \"group\", additional_trigger), FOREIGN KEY(\"trigger\", \"group\")REFERENCES bang(\"trigger\", \"group\")ON DELETE CASCADE);"
}
]
},
{
"name": "idx_bang_triggers_lookup",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE INDEX idx_bang_triggers_lookup ON bang_triggers (additional_trigger, \"group\")"
}
]
},
{
"name": "bang_triggers_after_insert",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TRIGGER bang_triggers_after_insert AFTER INSERT ON bang WHEN new.additional_triggers IS NOT NULL BEGIN INSERT INTO bang_triggers (\"trigger\", \"group\", additional_trigger) SELECT new.\"trigger\", new.\"group\", json_each.value FROM json_each(new.additional_triggers);END"
}
]
},
{
"name": "bang_triggers_after_update",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TRIGGER bang_triggers_after_update AFTER UPDATE ON bang BEGIN DELETE FROM bang_triggers WHERE \"trigger\" = old.\"trigger\" AND \"group\" = old.\"group\";INSERT INTO bang_triggers (\"trigger\", \"group\", additional_trigger) SELECT new.\"trigger\", new.\"group\", json_each.value FROM json_each(new.additional_triggers)WHERE new.additional_triggers IS NOT NULL;END"
}
]
},
{
"name": "bang_sync",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"bang_sync\" (\"group\" INTEGER PRIMARY KEY NOT NULL, \"last_sync\" INTEGER NOT NULL);"
}
]
},
{
"name": "bang_frequency",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"bang_frequency\" (\"trigger\" TEXT NOT NULL, \"group\" INTEGER NOT NULL, \"frequency\" INTEGER NOT NULL, \"last_used\" INTEGER NOT NULL, PRIMARY KEY(\"trigger\", \"group\"), FOREIGN KEY(\"trigger\", \"group\")REFERENCES bang(\"trigger\", \"group\")ON DELETE CASCADE);"
}
]
},
{
"name": "bang_history",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"bang_history\" (\"search_query\" TEXT UNIQUE NOT NULL, \"trigger\" TEXT NOT NULL, \"group\" INTEGER NOT NULL, \"search_date\" INTEGER NOT NULL, FOREIGN KEY(\"trigger\", \"group\")REFERENCES bang(\"trigger\", \"group\")ON DELETE CASCADE);"
}
]
},
{
"name": "bang_fts",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE VIRTUAL TABLE IF NOT EXISTS \"bang_fts\" USING fts5(trigger, website_name, content=bang, prefix='2 3');"
}
]
},
{
"name": "bang_triggers_fts",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE VIRTUAL TABLE IF NOT EXISTS \"bang_triggers_fts\" USING fts5(additional_trigger, content=bang_triggers, prefix='2 3');"
}
]
},
{
"name": "bang_data_view",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE VIEW bang_data_view AS SELECT b.*, bf.frequency, bf.last_used FROM bang AS b LEFT JOIN bang_frequency AS bf ON b.\"trigger\" = bf.\"trigger\" AND b.\"group\" = bf.\"group\""
}
]
},
{
"name": "bang_after_insert",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TRIGGER bang_after_insert AFTER INSERT ON bang BEGIN INSERT INTO bang_fts (\"rowid\", \"trigger\", website_name) VALUES (new.\"rowid\", new.\"trigger\", new.website_name);END"
}
]
},
{
"name": "bang_after_delete",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TRIGGER bang_after_delete AFTER DELETE ON bang BEGIN INSERT INTO bang_fts (bang_fts, \"rowid\", \"trigger\", website_name) VALUES ('delete', old.\"rowid\", old.\"trigger\", old.website_name);END"
}
]
},
{
"name": "bang_after_update",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TRIGGER bang_after_update AFTER UPDATE ON bang BEGIN INSERT INTO bang_fts (bang_fts, \"rowid\", \"trigger\", website_name) VALUES ('delete', old.\"rowid\", old.\"trigger\", old.website_name);INSERT INTO bang_fts (\"rowid\", \"trigger\", website_name) VALUES (new.\"rowid\", new.\"trigger\", new.website_name);END"
}
]
},
{
"name": "bang_triggers_after_insert_fts",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TRIGGER bang_triggers_after_insert_fts AFTER INSERT ON bang_triggers BEGIN INSERT INTO bang_triggers_fts (\"rowid\", additional_trigger) VALUES (new.\"rowid\", new.additional_trigger);END"
}
]
},
{
"name": "bang_triggers_after_delete_fts",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TRIGGER bang_triggers_after_delete_fts AFTER DELETE ON bang_triggers BEGIN INSERT INTO bang_triggers_fts (bang_triggers_fts, \"rowid\", additional_trigger) VALUES ('delete', old.\"rowid\", old.additional_trigger);END"
}
]
},
{
"name": "bang_triggers_after_update_fts",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TRIGGER bang_triggers_after_update_fts AFTER UPDATE ON bang_triggers BEGIN INSERT INTO bang_triggers_fts (bang_triggers_fts, \"rowid\", additional_trigger) VALUES ('delete', old.\"rowid\", old.additional_trigger);INSERT INTO bang_triggers_fts (\"rowid\", additional_trigger) VALUES (new.\"rowid\", new.additional_trigger);END"
}
]
}
]
}