From 5c47b07ec646310acae11ef66c56cb362e5bd753 Mon Sep 17 00:00:00 2001 From: chenhao Date: Wed, 4 Mar 2026 19:28:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:sql=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/design/db_schema_pgsql.sql | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/backend/design/db_schema_pgsql.sql b/backend/design/db_schema_pgsql.sql index 87abc0c..9d3a79e 100644 --- a/backend/design/db_schema_pgsql.sql +++ b/backend/design/db_schema_pgsql.sql @@ -19,7 +19,7 @@ CREATE TABLE sys_tenant ( updated_at TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, is_deleted SMALLINT DEFAULT 0 ); -CREATE UNIQUE INDEX uk_tenant_code ON sys_tenant (tenant_code) WHERE is_deleted = 0; +CREATE INDEX uk_tenant_code ON sys_tenant (tenant_code) WHERE is_deleted = 0; -- 组织架构表 DROP TABLE IF EXISTS sys_org CASCADE; @@ -83,7 +83,7 @@ CREATE TABLE sys_role ( ); CREATE INDEX idx_sys_role_tenant ON sys_role (tenant_id); -CREATE UNIQUE INDEX uk_role_code ON sys_role (tenant_id, role_code) WHERE is_deleted = 0; +CREATE INDEX uk_role_code ON sys_role (tenant_id, role_code) WHERE is_deleted = 0; -- 用户-角色关联表 (按 tenant_id 强约束,避免跨租户角色污染) DROP TABLE IF EXISTS sys_user_role CASCADE; @@ -138,7 +138,7 @@ CREATE TABLE sys_tenant_user ( updated_at TIMESTAMP(6) NOT NULL DEFAULT now() ); -CREATE UNIQUE INDEX uk_tenant_user +CREATE INDEX uk_tenant_user ON sys_tenant_user (user_id, tenant_id) WHERE is_deleted = 0; CREATE TABLE sys_dict_type ( @@ -164,7 +164,7 @@ CREATE TABLE sys_dict_item ( is_deleted SMALLINT DEFAULT 0 ); CREATE INDEX idx_dict_item_type ON sys_dict_item (type_code); -CREATE UNIQUE INDEX uk_dict_item_value ON sys_dict_item (type_code, item_value); +CREATE INDEX uk_dict_item_value ON sys_dict_item (type_code, item_value); CREATE TABLE sys_param ( id BIGSERIAL PRIMARY KEY, @@ -253,8 +253,7 @@ CREATE TABLE biz_hot_words ( word VARCHAR(100) NOT NULL, -- 热词原文 is_public SMALLINT DEFAULT 0, -- 1:租户公开, 0:个人私有 creator_id BIGINT, -- 创建者ID - pinyin_list JSONB, -- 拼音数组 - (支持多音字, 如 ["i mi ting", "i mei ting"]) + pinyin_list text, -- 拼音数组(支持多音字, 如 ["i mi ting", "i mei ting"]) match_strategy SMALLINT DEFAULT 1, -- 匹配策略: 1:精确匹配, 2:拼音模糊匹配 category VARCHAR(50), -- 类别 (人名、术语、地名) weight INTEGER DEFAULT 10, -- 权重 (1-100) @@ -282,7 +281,7 @@ CREATE TABLE biz_prompt_templates ( category VARCHAR(20), -- 分类 (字典: biz_prompt_category) is_system SMALLINT DEFAULT 0, -- 是否系统预置 (1:是, 0:否) creator_id BIGINT, -- 创建人ID - tags JSONB, -- 标签数组 (JSONB) + tags text, -- 标签数组 (JSONB) usage_count INTEGER DEFAULT 0, -- 使用次数 prompt_content TEXT NOT NULL, -- 提示词内容 status SMALLINT DEFAULT 1, -- 状态: 1:启用, 0:禁用 @@ -314,7 +313,7 @@ CREATE TABLE biz_ai_models ( ws_url VARCHAR(255), -- WebSocket 地址 (ASR 专用) temperature DECIMAL(3,2) DEFAULT 0.7, -- LLM 温度 top_p DECIMAL(3,2) DEFAULT 0.9, -- LLM 核采样 - media_config JSONB, -- 媒体参数 (采样率、声道等) + media_config text, -- 媒体参数 (采样率、声道等) is_default SMALLINT DEFAULT 0, -- 是否默认 status SMALLINT DEFAULT 1, -- 状态: 1:启用, 0:禁用 remark VARCHAR(255), -- 备注 @@ -346,7 +345,7 @@ CREATE TABLE biz_meetings ( summary_model_id BIGINT, -- LLM模型ID prompt_content TEXT, -- 发起任务时的提示词模板快照 use_spk_id SMALLINT DEFAULT 1, -- 是否开启声纹识别 (1:开启, 0:关闭) - hot_words JSONB, -- 任务发起时的热词快照 + hot_words text, -- 任务发起时的热词快照 summary_content TEXT, -- Markdown 总结结果 status SMALLINT DEFAULT 0, -- 0:待处理, 1:处理中, 2:成功, 3:失败 created_at TIMESTAMP(6) NOT NULL DEFAULT now(), @@ -380,8 +379,8 @@ CREATE TABLE biz_ai_tasks ( meeting_id BIGINT NOT NULL, task_type VARCHAR(20), -- ASR / SUMMARY status SMALLINT DEFAULT 0, -- 0:排队, 1:执行中, 2:成功, 3:失败 - request_data JSONB, -- 请求三方原始JSON - response_data JSONB, -- 三方返回原始JSON + request_data text, -- 请求三方原始JSON + response_data text, -- 三方返回原始JSON error_msg TEXT, -- 错误堆栈 started_at TIMESTAMP(6), completed_at TIMESTAMP(6)