{ "version": "6", "dialect": "sqlite", "id": "32209082-b057-4505-8c21-4d5425278b6a", "prevId": "12dd39b8-6a3f-405a-8ea8-7ae5a62c8b48", "tables": { "account": { "name": "account", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "kind": { "name": "kind", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "institution": { "name": "institution", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "last4": { "name": "last4", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "color": { "name": "color", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'indigo'" }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'open'" }, "balance_cents": { "name": "balance_cents", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "balance_as_of": { "name": "balance_as_of", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "balance_source": { "name": "balance_source", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "layout_key": { "name": "layout_key", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "file_name_pattern": { "name": "file_name_pattern", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "sort_order": { "name": "sort_order", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "created_at": { "name": "created_at", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "updated_at": { "name": "updated_at", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "retired_at": { "name": "retired_at", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "alert": { "name": "alert", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "kind": { "name": "kind", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "subject_type": { "name": "subject_type", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "subject_id": { "name": "subject_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "period": { "name": "period", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "''" }, "area": { "name": "area", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'money'" }, "severity": { "name": "severity", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'info'" }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "body": { "name": "body", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "link": { "name": "link", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "rank": { "name": "rank", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "created_at": { "name": "created_at", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "updated_at": { "name": "updated_at", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "read_at": { "name": "read_at", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "dismissed_at": { "name": "dismissed_at", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "resolved_at": { "name": "resolved_at", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false } }, "indexes": { "alert_unique": { "name": "alert_unique", "columns": [ "kind", "subject_type", "subject_id", "period" ], "isUnique": true }, "alert_open_idx": { "name": "alert_open_idx", "columns": [ "resolved_at", "dismissed_at" ], "isUnique": false } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "budget": { "name": "budget", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "category_id": { "name": "category_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "year": { "name": "year", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "month": { "name": "month", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "amount_cents": { "name": "amount_cents", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "updated_at": { "name": "updated_at", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "budget_unique": { "name": "budget_unique", "columns": [ "category_id", "year", "month" ], "isUnique": true }, "budget_year_idx": { "name": "budget_year_idx", "columns": [ "year" ], "isUnique": false } }, "foreignKeys": { "budget_category_id_category_id_fk": { "name": "budget_category_id_category_id_fk", "tableFrom": "budget", "tableTo": "category", "columnsFrom": [ "category_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "category": { "name": "category", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "group_id": { "name": "group_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "kind": { "name": "kind", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'expense'" }, "icon": { "name": "icon", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'circle'" }, "color": { "name": "color", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'slate'" }, "archived": { "name": "archived", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": false }, "sort_order": { "name": "sort_order", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 } }, "indexes": { "category_group_idx": { "name": "category_group_idx", "columns": [ "group_id" ], "isUnique": false } }, "foreignKeys": { "category_group_id_category_group_id_fk": { "name": "category_group_id_category_group_id_fk", "tableFrom": "category", "tableTo": "category_group", "columnsFrom": [ "group_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "category_group": { "name": "category_group", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "sort_order": { "name": "sort_order", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "change_log": { "name": "change_log", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "at": { "name": "at", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "action": { "name": "action", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "entity": { "name": "entity", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "entity_id": { "name": "entity_id", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "detail": { "name": "detail", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false } }, "indexes": { "change_log_at_idx": { "name": "change_log_at_idx", "columns": [ "at" ], "isUnique": false } }, "foreignKeys": { "change_log_user_id_user_id_fk": { "name": "change_log_user_id_user_id_fk", "tableFrom": "change_log", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "idea": { "name": "idea", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "''" }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'new'" }, "admin_note": { "name": "admin_note", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "path": { "name": "path", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "app_version": { "name": "app_version", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "user_agent": { "name": "user_agent", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "created_at": { "name": "created_at", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "updated_at": { "name": "updated_at", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "idea_status_idx": { "name": "idea_status_idx", "columns": [ "status" ], "isUnique": false } }, "foreignKeys": { "idea_user_id_user_id_fk": { "name": "idea_user_id_user_id_fk", "tableFrom": "idea", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "import_layout": { "name": "import_layout", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "signature": { "name": "signature", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "config": { "name": "config", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "created_at": { "name": "created_at", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "import": { "name": "import", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "account_id": { "name": "account_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "file_name": { "name": "file_name", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "file_hash": { "name": "file_hash", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "layout_key": { "name": "layout_key", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "date_from": { "name": "date_from", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "date_to": { "name": "date_to", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "row_count": { "name": "row_count", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "added_count": { "name": "added_count", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "duplicate_count": { "name": "duplicate_count", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "skipped_count": { "name": "skipped_count", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "transfer_count": { "name": "transfer_count", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'committed'" }, "previous_balance": { "name": "previous_balance", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "created_at": { "name": "created_at", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "undone_at": { "name": "undone_at", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false } }, "indexes": { "import_account_idx": { "name": "import_account_idx", "columns": [ "account_id" ], "isUnique": false } }, "foreignKeys": { "import_account_id_account_id_fk": { "name": "import_account_id_account_id_fk", "tableFrom": "import", "tableTo": "account", "columnsFrom": [ "account_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "import_user_id_user_id_fk": { "name": "import_user_id_user_id_fk", "tableFrom": "import", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "passkey": { "name": "passkey", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "public_key": { "name": "public_key", "type": "blob", "primaryKey": false, "notNull": true, "autoincrement": false }, "counter": { "name": "counter", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "transports": { "name": "transports", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "device_type": { "name": "device_type", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "backed_up": { "name": "backed_up", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": false }, "created_at": { "name": "created_at", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "last_used_at": { "name": "last_used_at", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false } }, "indexes": { "passkey_user_idx": { "name": "passkey_user_idx", "columns": [ "user_id" ], "isUnique": false } }, "foreignKeys": { "passkey_user_id_user_id_fk": { "name": "passkey_user_id_user_id_fk", "tableFrom": "passkey", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "rule": { "name": "rule", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "merchant": { "name": "merchant", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "account_id": { "name": "account_id", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "category_id": { "name": "category_id", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "rename_to": { "name": "rename_to", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "source": { "name": "source", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'learned'" }, "hits": { "name": "hits", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "created_at": { "name": "created_at", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "last_used_at": { "name": "last_used_at", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false } }, "indexes": { "rule_merchant_idx": { "name": "rule_merchant_idx", "columns": [ "merchant" ], "isUnique": false } }, "foreignKeys": { "rule_account_id_account_id_fk": { "name": "rule_account_id_account_id_fk", "tableFrom": "rule", "tableTo": "account", "columnsFrom": [ "account_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "rule_category_id_category_id_fk": { "name": "rule_category_id_category_id_fk", "tableFrom": "rule", "tableTo": "category", "columnsFrom": [ "category_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "session": { "name": "session", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "kind": { "name": "kind", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'browser'" }, "device_label": { "name": "device_label", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "user_agent": { "name": "user_agent", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "ip": { "name": "ip", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "created_at": { "name": "created_at", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "last_seen_at": { "name": "last_seen_at", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "expires_at": { "name": "expires_at", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "session_user_idx": { "name": "session_user_idx", "columns": [ "user_id" ], "isUnique": false } }, "foreignKeys": { "session_user_id_user_id_fk": { "name": "session_user_id_user_id_fk", "tableFrom": "session", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "setting": { "name": "setting", "columns": { "key": { "name": "key", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "value": { "name": "value", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "split_tag": { "name": "split_tag", "columns": { "split_id": { "name": "split_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "tag_id": { "name": "tag_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "split_tag_pk": { "name": "split_tag_pk", "columns": [ "split_id", "tag_id" ], "isUnique": true }, "split_tag_tag_idx": { "name": "split_tag_tag_idx", "columns": [ "tag_id" ], "isUnique": false } }, "foreignKeys": { "split_tag_split_id_split_id_fk": { "name": "split_tag_split_id_split_id_fk", "tableFrom": "split_tag", "tableTo": "split", "columnsFrom": [ "split_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "split_tag_tag_id_tag_id_fk": { "name": "split_tag_tag_id_tag_id_fk", "tableFrom": "split_tag", "tableTo": "tag", "columnsFrom": [ "tag_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "split": { "name": "split", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "transaction_id": { "name": "transaction_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "category_id": { "name": "category_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "amount_cents": { "name": "amount_cents", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "note": { "name": "note", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false } }, "indexes": { "split_txn_idx": { "name": "split_txn_idx", "columns": [ "transaction_id" ], "isUnique": false }, "split_category_idx": { "name": "split_category_idx", "columns": [ "category_id" ], "isUnique": false } }, "foreignKeys": { "split_transaction_id_txn_id_fk": { "name": "split_transaction_id_txn_id_fk", "tableFrom": "split", "tableTo": "txn", "columnsFrom": [ "transaction_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "split_category_id_category_id_fk": { "name": "split_category_id_category_id_fk", "tableFrom": "split", "tableTo": "category", "columnsFrom": [ "category_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "subscription": { "name": "subscription", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "kind": { "name": "kind", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'subscription'" }, "merchant": { "name": "merchant", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "aliases": { "name": "aliases", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'[]'" }, "catalog_key": { "name": "catalog_key", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "cadence": { "name": "cadence", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'monthly'" }, "expected_cents": { "name": "expected_cents", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "account_id": { "name": "account_id", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "category_id": { "name": "category_id", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'suggested'" }, "confidence": { "name": "confidence", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'likely'" }, "source": { "name": "source", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'detected'" }, "trial_ends_on": { "name": "trial_ends_on", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "cancelled_on": { "name": "cancelled_on", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "first_charge_on": { "name": "first_charge_on", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "last_charge_on": { "name": "last_charge_on", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "next_expected_on": { "name": "next_expected_on", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "manage_url": { "name": "manage_url", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "note": { "name": "note", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "alerts_on": { "name": "alerts_on", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": true }, "created_at": { "name": "created_at", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "updated_at": { "name": "updated_at", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "subscription_merchant_idx": { "name": "subscription_merchant_idx", "columns": [ "merchant" ], "isUnique": false }, "subscription_status_idx": { "name": "subscription_status_idx", "columns": [ "status" ], "isUnique": false } }, "foreignKeys": { "subscription_account_id_account_id_fk": { "name": "subscription_account_id_account_id_fk", "tableFrom": "subscription", "tableTo": "account", "columnsFrom": [ "account_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" }, "subscription_category_id_category_id_fk": { "name": "subscription_category_id_category_id_fk", "tableFrom": "subscription", "tableTo": "category", "columnsFrom": [ "category_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "tag": { "name": "tag", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "color": { "name": "color", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'slate'" } }, "indexes": { "tag_name_unique": { "name": "tag_name_unique", "columns": [ "name" ], "isUnique": true } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "txn_tag": { "name": "txn_tag", "columns": { "transaction_id": { "name": "transaction_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "tag_id": { "name": "tag_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "txn_tag_pk": { "name": "txn_tag_pk", "columns": [ "transaction_id", "tag_id" ], "isUnique": true }, "txn_tag_tag_idx": { "name": "txn_tag_tag_idx", "columns": [ "tag_id" ], "isUnique": false } }, "foreignKeys": { "txn_tag_transaction_id_txn_id_fk": { "name": "txn_tag_transaction_id_txn_id_fk", "tableFrom": "txn_tag", "tableTo": "txn", "columnsFrom": [ "transaction_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "txn_tag_tag_id_tag_id_fk": { "name": "txn_tag_tag_id_tag_id_fk", "tableFrom": "txn_tag", "tableTo": "tag", "columnsFrom": [ "tag_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "txn": { "name": "txn", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "account_id": { "name": "account_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "import_id": { "name": "import_id", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "date": { "name": "date", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "posted_date": { "name": "posted_date", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "amount_cents": { "name": "amount_cents", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "merchant": { "name": "merchant", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "category_id": { "name": "category_id", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "needs_review": { "name": "needs_review", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": true }, "suggested_by": { "name": "suggested_by", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "is_split": { "name": "is_split", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": false }, "bank_category": { "name": "bank_category", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "bank_type": { "name": "bank_type", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "note": { "name": "note", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "transfer_peer_id": { "name": "transfer_peer_id", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "subscription_id": { "name": "subscription_id", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "source": { "name": "source", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'import'" }, "dedupe_key": { "name": "dedupe_key", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "created_at": { "name": "created_at", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "updated_at": { "name": "updated_at", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "txn_account_date_idx": { "name": "txn_account_date_idx", "columns": [ "account_id", "date" ], "isUnique": false }, "txn_date_idx": { "name": "txn_date_idx", "columns": [ "date" ], "isUnique": false }, "txn_category_date_idx": { "name": "txn_category_date_idx", "columns": [ "category_id", "date" ], "isUnique": false }, "txn_merchant_idx": { "name": "txn_merchant_idx", "columns": [ "merchant" ], "isUnique": false }, "txn_dedupe_idx": { "name": "txn_dedupe_idx", "columns": [ "dedupe_key" ], "isUnique": false }, "txn_review_idx": { "name": "txn_review_idx", "columns": [ "needs_review" ], "isUnique": false }, "txn_import_idx": { "name": "txn_import_idx", "columns": [ "import_id" ], "isUnique": false }, "txn_subscription_idx": { "name": "txn_subscription_idx", "columns": [ "subscription_id" ], "isUnique": false } }, "foreignKeys": { "txn_account_id_account_id_fk": { "name": "txn_account_id_account_id_fk", "tableFrom": "txn", "tableTo": "account", "columnsFrom": [ "account_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "txn_import_id_import_id_fk": { "name": "txn_import_id_import_id_fk", "tableFrom": "txn", "tableTo": "import", "columnsFrom": [ "import_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "txn_category_id_category_id_fk": { "name": "txn_category_id_category_id_fk", "tableFrom": "txn", "tableTo": "category", "columnsFrom": [ "category_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "user": { "name": "user", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "username": { "name": "username", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "display_name": { "name": "display_name", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "password_hash": { "name": "password_hash", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "access": { "name": "access", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'full'" }, "is_admin": { "name": "is_admin", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": false }, "theme": { "name": "theme", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'system'" }, "must_change_password": { "name": "must_change_password", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": false }, "created_at": { "name": "created_at", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "updated_at": { "name": "updated_at", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "deleted_at": { "name": "deleted_at", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false } }, "indexes": { "user_username_unique": { "name": "user_username_unique", "columns": [ "username" ], "isUnique": true } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} } }, "views": {}, "enums": {}, "_meta": { "schemas": {}, "tables": {}, "columns": {} }, "internal": { "indexes": {} } }