From b11b5a027fb4646c7431da1908e9b194796fef79 Mon Sep 17 00:00:00 2001 From: MerCry Date: Thu, 26 Feb 2026 12:10:14 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=9B=B4=E6=96=B0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E8=84=9A=E6=9C=AC=E6=B7=BB=E5=8A=A0chat=5Fmessages?= =?UTF-8?q?=E7=BC=BA=E5=A4=B1=E5=AD=97=E6=AE=B5=20[AC-AISVC-50]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - init_db.sql 添加 prompt_tokens, completion_tokens, total_tokens 等字段 - 新增 migrate_add_columns.sql 用于现有数据库迁移 --- ai-service/scripts/init_db.sql | 7 ++++++ ai-service/scripts/migrate_add_columns.sql | 29 ++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 ai-service/scripts/migrate_add_columns.sql diff --git a/ai-service/scripts/init_db.sql b/ai-service/scripts/init_db.sql index b4690ea..691c833 100644 --- a/ai-service/scripts/init_db.sql +++ b/ai-service/scripts/init_db.sql @@ -28,6 +28,13 @@ CREATE TABLE IF NOT EXISTS chat_messages ( session_id VARCHAR NOT NULL, role VARCHAR NOT NULL, content TEXT NOT NULL, + prompt_tokens INTEGER, + completion_tokens INTEGER, + total_tokens INTEGER, + latency_ms INTEGER, + first_token_ms INTEGER, + is_error BOOLEAN NOT NULL DEFAULT FALSE, + error_message VARCHAR, created_at TIMESTAMP WITHOUT TIME ZONE NOT NULL ); diff --git a/ai-service/scripts/migrate_add_columns.sql b/ai-service/scripts/migrate_add_columns.sql new file mode 100644 index 0000000..c080a68 --- /dev/null +++ b/ai-service/scripts/migrate_add_columns.sql @@ -0,0 +1,29 @@ +-- Migration: Add missing columns to chat_messages table +-- Execute this on existing database to add new columns + +-- Add token tracking columns +ALTER TABLE chat_messages ADD COLUMN IF NOT EXISTS prompt_tokens INTEGER; +ALTER TABLE chat_messages ADD COLUMN IF NOT EXISTS completion_tokens INTEGER; +ALTER TABLE chat_messages ADD COLUMN IF NOT EXISTS total_tokens INTEGER; + +-- Add latency tracking columns +ALTER TABLE chat_messages ADD COLUMN IF NOT EXISTS latency_ms INTEGER; +ALTER TABLE chat_messages ADD COLUMN IF NOT EXISTS first_token_ms INTEGER; + +-- Add error tracking columns +ALTER TABLE chat_messages ADD COLUMN IF NOT EXISTS is_error BOOLEAN NOT NULL DEFAULT FALSE; +ALTER TABLE chat_messages ADD COLUMN IF NOT EXISTS error_message VARCHAR; + +-- Create API Keys table if not exists +CREATE TABLE IF NOT EXISTS api_keys ( + id UUID NOT NULL PRIMARY KEY, + key VARCHAR NOT NULL UNIQUE, + name VARCHAR NOT NULL, + is_active BOOLEAN NOT NULL DEFAULT TRUE, + created_at TIMESTAMP WITHOUT TIME ZONE NOT NULL, + updated_at TIMESTAMP WITHOUT TIME ZONE NOT NULL +); + +-- Create API Keys indexes +CREATE INDEX IF NOT EXISTS ix_api_keys_key ON api_keys (key); +CREATE INDEX IF NOT EXISTS ix_api_keys_is_active ON api_keys (is_active);