{ "id": "7fd71f10-dabd-41d1-a379-05827419d0c7", "prevId": "e52e0416-6f56-4223-9016-44087dd17d11", "version": "7", "dialect": "postgresql", "tables": { "public.account": { "name": "account", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "account_id": { "name": "account_id", "type": "text", "primaryKey": false, "notNull": true }, "provider_id": { "name": "provider_id", "type": "text", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "access_token": { "name": "access_token", "type": "text", "primaryKey": false, "notNull": false }, "refresh_token": { "name": "refresh_token", "type": "text", "primaryKey": false, "notNull": false }, "id_token": { "name": "id_token", "type": "text", "primaryKey": false, "notNull": false }, "access_token_expires_at": { "name": "access_token_expires_at", "type": "timestamp", "primaryKey": false, "notNull": false }, "refresh_token_expires_at": { "name": "refresh_token_expires_at", "type": "timestamp", "primaryKey": false, "notNull": false }, "scope": { "name": "scope", "type": "text", "primaryKey": false, "notNull": false }, "password": { "name": "password", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true } }, "indexes": { "account_userId_idx": { "name": "account_userId_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "account_user_id_user_id_fk": { "name": "account_user_id_user_id_fk", "tableFrom": "account", "tableTo": "user", "columnsFrom": ["user_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.apikey": { "name": "apikey", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "config_id": { "name": "config_id", "type": "text", "primaryKey": false, "notNull": true, "default": "'default'" }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": false }, "start": { "name": "start", "type": "text", "primaryKey": false, "notNull": false }, "reference_id": { "name": "reference_id", "type": "text", "primaryKey": false, "notNull": true }, "prefix": { "name": "prefix", "type": "text", "primaryKey": false, "notNull": false }, "key": { "name": "key", "type": "text", "primaryKey": false, "notNull": true }, "refill_interval": { "name": "refill_interval", "type": "integer", "primaryKey": false, "notNull": false }, "refill_amount": { "name": "refill_amount", "type": "integer", "primaryKey": false, "notNull": false }, "last_refill_at": { "name": "last_refill_at", "type": "timestamp", "primaryKey": false, "notNull": false }, "enabled": { "name": "enabled", "type": "boolean", "primaryKey": false, "notNull": false, "default": true }, "rate_limit_enabled": { "name": "rate_limit_enabled", "type": "boolean", "primaryKey": false, "notNull": false, "default": true }, "rate_limit_time_window": { "name": "rate_limit_time_window", "type": "integer", "primaryKey": false, "notNull": false, "default": 86400000 }, "rate_limit_max": { "name": "rate_limit_max", "type": "integer", "primaryKey": false, "notNull": false, "default": 10 }, "request_count": { "name": "request_count", "type": "integer", "primaryKey": false, "notNull": false, "default": 0 }, "remaining": { "name": "remaining", "type": "integer", "primaryKey": false, "notNull": false }, "last_request": { "name": "last_request", "type": "timestamp", "primaryKey": false, "notNull": false }, "expires_at": { "name": "expires_at", "type": "timestamp", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "permissions": { "name": "permissions", "type": "text", "primaryKey": false, "notNull": false }, "metadata": { "name": "metadata", "type": "text", "primaryKey": false, "notNull": false } }, "indexes": { "apikey_configId_idx": { "name": "apikey_configId_idx", "columns": [ { "expression": "config_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "apikey_referenceId_idx": { "name": "apikey_referenceId_idx", "columns": [ { "expression": "reference_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "apikey_key_idx": { "name": "apikey_key_idx", "columns": [ { "expression": "key", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.session": { "name": "session", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "expires_at": { "name": "expires_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "token": { "name": "token", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "ip_address": { "name": "ip_address", "type": "text", "primaryKey": false, "notNull": false }, "user_agent": { "name": "user_agent", "type": "text", "primaryKey": false, "notNull": false }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true } }, "indexes": { "session_userId_idx": { "name": "session_userId_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "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": { "session_token_unique": { "name": "session_token_unique", "nullsNotDistinct": false, "columns": ["token"] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.user": { "name": "user", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "email": { "name": "email", "type": "text", "primaryKey": false, "notNull": true }, "email_verified": { "name": "email_verified", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "image": { "name": "image", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "user_email_unique": { "name": "user_email_unique", "nullsNotDistinct": false, "columns": ["email"] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.verification": { "name": "verification", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "identifier": { "name": "identifier", "type": "text", "primaryKey": false, "notNull": true }, "value": { "name": "value", "type": "text", "primaryKey": false, "notNull": true }, "expires_at": { "name": "expires_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "verification_identifier_idx": { "name": "verification_identifier_idx", "columns": [ { "expression": "identifier", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.bookmark": { "name": "bookmark", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "url": { "name": "url", "type": "text", "primaryKey": false, "notNull": true }, "icon": { "name": "icon", "type": "text", "primaryKey": false, "notNull": false }, "category_id": { "name": "category_id", "type": "uuid", "primaryKey": false, "notNull": true }, "is_public": { "name": "is_public", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "order_id": { "name": "order_id", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true } }, "indexes": {}, "foreignKeys": { "bookmark_category_id_category_id_fk": { "name": "bookmark_category_id_category_id_fk", "tableFrom": "bookmark", "tableTo": "category", "columnsFrom": ["category_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "bookmark_user_id_user_id_fk": { "name": "bookmark_user_id_user_id_fk", "tableFrom": "bookmark", "tableTo": "user", "columnsFrom": ["user_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.category": { "name": "category", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "is_pinned": { "name": "is_pinned", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "is_public": { "name": "is_public", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "order_id": { "name": "order_id", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true } }, "indexes": {}, "foreignKeys": { "category_user_id_user_id_fk": { "name": "category_user_id_user_id_fk", "tableFrom": "category", "tableTo": "user", "columnsFrom": ["user_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.finance_account": { "name": "finance_account", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "type": { "name": "type", "type": "text", "primaryKey": false, "notNull": true, "default": "'checking'" }, "currency_code": { "name": "currency_code", "type": "text", "primaryKey": false, "notNull": true, "default": "'CNY'" }, "initial_balance": { "name": "initial_balance", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "icon": { "name": "icon", "type": "text", "primaryKey": false, "notNull": false }, "is_archived": { "name": "is_archived", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "order_id": { "name": "order_id", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true } }, "indexes": { "finance_account_user_id_idx": { "name": "finance_account_user_id_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "finance_account_user_id_user_id_fk": { "name": "finance_account_user_id_user_id_fk", "tableFrom": "finance_account", "tableTo": "user", "columnsFrom": ["user_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.transaction": { "name": "transaction", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "account_id": { "name": "account_id", "type": "uuid", "primaryKey": false, "notNull": true }, "category_id": { "name": "category_id", "type": "uuid", "primaryKey": false, "notNull": false }, "type": { "name": "type", "type": "text", "primaryKey": false, "notNull": true, "default": "'expense'" }, "amount": { "name": "amount", "type": "integer", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": true }, "note": { "name": "note", "type": "text", "primaryKey": false, "notNull": false }, "date": { "name": "date", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "source": { "name": "source", "type": "text", "primaryKey": false, "notNull": true, "default": "'manual'" }, "external_id": { "name": "external_id", "type": "text", "primaryKey": false, "notNull": false }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true } }, "indexes": { "transaction_user_id_idx": { "name": "transaction_user_id_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "transaction_account_id_idx": { "name": "transaction_account_id_idx", "columns": [ { "expression": "account_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "transaction_category_id_idx": { "name": "transaction_category_id_idx", "columns": [ { "expression": "category_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "transaction_date_idx": { "name": "transaction_date_idx", "columns": [ { "expression": "date", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "transaction_external_id_idx": { "name": "transaction_external_id_idx", "columns": [ { "expression": "external_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "transaction_account_id_finance_account_id_fk": { "name": "transaction_account_id_finance_account_id_fk", "tableFrom": "transaction", "tableTo": "finance_account", "columnsFrom": ["account_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "transaction_category_id_transaction_category_id_fk": { "name": "transaction_category_id_transaction_category_id_fk", "tableFrom": "transaction", "tableTo": "transaction_category", "columnsFrom": ["category_id"], "columnsTo": ["id"], "onDelete": "set null", "onUpdate": "no action" }, "transaction_user_id_user_id_fk": { "name": "transaction_user_id_user_id_fk", "tableFrom": "transaction", "tableTo": "user", "columnsFrom": ["user_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.transaction_category": { "name": "transaction_category", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "icon": { "name": "icon", "type": "text", "primaryKey": false, "notNull": false }, "type": { "name": "type", "type": "text", "primaryKey": false, "notNull": true, "default": "'expense'" }, "order_id": { "name": "order_id", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true } }, "indexes": { "transaction_category_user_id_idx": { "name": "transaction_category_user_id_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "transaction_category_user_id_user_id_fk": { "name": "transaction_category_user_id_user_id_fk", "tableFrom": "transaction_category", "tableTo": "user", "columnsFrom": ["user_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false } }, "enums": {}, "schemas": {}, "sequences": {}, "roles": {}, "policies": {}, "views": {}, "_meta": { "columns": {}, "schemas": {}, "tables": {} } }