{ "version": "6", "dialect": "sqlite", "id": "ec8780d0-5541-41b1-974d-399f30e83364", "prevId": "ede9f482-7af0-42bc-9672-43f5fba289d0", "tables": { "api_keys": { "name": "api_keys", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "key_hash": { "name": "key_hash", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "key_prefix": { "name": "key_prefix", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "categories": { "name": "categories", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "icon": { "name": "icon", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'package'" }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "categories_name_unique": { "name": "categories_name_unique", "columns": [ "name" ], "isUnique": true } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "items": { "name": "items", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "weight_grams": { "name": "weight_grams", "type": "real", "primaryKey": false, "notNull": false, "autoincrement": false }, "price_cents": { "name": "price_cents", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "category_id": { "name": "category_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "notes": { "name": "notes", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "product_url": { "name": "product_url", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "image_filename": { "name": "image_filename", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "image_source_url": { "name": "image_source_url", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "quantity": { "name": "quantity", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 1 }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "updated_at": { "name": "updated_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": {}, "foreignKeys": { "items_category_id_categories_id_fk": { "name": "items_category_id_categories_id_fk", "tableFrom": "items", "tableTo": "categories", "columnsFrom": [ "category_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "oauth_clients": { "name": "oauth_clients", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "client_id": { "name": "client_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "client_name": { "name": "client_name", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "redirect_uris": { "name": "redirect_uris", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "oauth_clients_client_id_unique": { "name": "oauth_clients_client_id_unique", "columns": [ "client_id" ], "isUnique": true } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "oauth_codes": { "name": "oauth_codes", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "code": { "name": "code", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "client_id": { "name": "client_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "code_challenge": { "name": "code_challenge", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "code_challenge_method": { "name": "code_challenge_method", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'S256'" }, "redirect_uri": { "name": "redirect_uri", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "expires_at": { "name": "expires_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "used": { "name": "used", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 } }, "indexes": { "oauth_codes_code_unique": { "name": "oauth_codes_code_unique", "columns": [ "code" ], "isUnique": true } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "oauth_tokens": { "name": "oauth_tokens", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "access_token_hash": { "name": "access_token_hash", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "refresh_token_hash": { "name": "refresh_token_hash", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "client_id": { "name": "client_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "expires_at": { "name": "expires_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "refresh_expires_at": { "name": "refresh_expires_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "oauth_tokens_access_token_hash_unique": { "name": "oauth_tokens_access_token_hash_unique", "columns": [ "access_token_hash" ], "isUnique": true }, "oauth_tokens_refresh_token_hash_unique": { "name": "oauth_tokens_refresh_token_hash_unique", "columns": [ "refresh_token_hash" ], "isUnique": true } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "sessions": { "name": "sessions", "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 }, "expires_at": { "name": "expires_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": {}, "foreignKeys": { "sessions_user_id_users_id_fk": { "name": "sessions_user_id_users_id_fk", "tableFrom": "sessions", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "settings": { "name": "settings", "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": {} }, "setup_items": { "name": "setup_items", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "setup_id": { "name": "setup_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "item_id": { "name": "item_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "classification": { "name": "classification", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'base'" } }, "indexes": {}, "foreignKeys": { "setup_items_setup_id_setups_id_fk": { "name": "setup_items_setup_id_setups_id_fk", "tableFrom": "setup_items", "tableTo": "setups", "columnsFrom": [ "setup_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "setup_items_item_id_items_id_fk": { "name": "setup_items_item_id_items_id_fk", "tableFrom": "setup_items", "tableTo": "items", "columnsFrom": [ "item_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "setups": { "name": "setups", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "updated_at": { "name": "updated_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "thread_candidates": { "name": "thread_candidates", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "thread_id": { "name": "thread_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "weight_grams": { "name": "weight_grams", "type": "real", "primaryKey": false, "notNull": false, "autoincrement": false }, "price_cents": { "name": "price_cents", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "category_id": { "name": "category_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "notes": { "name": "notes", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "product_url": { "name": "product_url", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "image_filename": { "name": "image_filename", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "image_source_url": { "name": "image_source_url", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'researching'" }, "pros": { "name": "pros", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "cons": { "name": "cons", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "sort_order": { "name": "sort_order", "type": "real", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "updated_at": { "name": "updated_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": {}, "foreignKeys": { "thread_candidates_thread_id_threads_id_fk": { "name": "thread_candidates_thread_id_threads_id_fk", "tableFrom": "thread_candidates", "tableTo": "threads", "columnsFrom": [ "thread_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "thread_candidates_category_id_categories_id_fk": { "name": "thread_candidates_category_id_categories_id_fk", "tableFrom": "thread_candidates", "tableTo": "categories", "columnsFrom": [ "category_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "threads": { "name": "threads", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'active'" }, "resolved_candidate_id": { "name": "resolved_candidate_id", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "category_id": { "name": "category_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "updated_at": { "name": "updated_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": {}, "foreignKeys": { "threads_category_id_categories_id_fk": { "name": "threads_category_id_categories_id_fk", "tableFrom": "threads", "tableTo": "categories", "columnsFrom": [ "category_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "users": { "name": "users", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": true }, "username": { "name": "username", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "password_hash": { "name": "password_hash", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "users_username_unique": { "name": "users_username_unique", "columns": [ "username" ], "isUnique": true } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} } }, "views": {}, "enums": {}, "_meta": { "schemas": {}, "tables": {}, "columns": {} }, "internal": { "indexes": {} } }