diff --git a/update.sql b/update.sql index 2f30a81..0a486d0 100644 --- a/update.sql +++ b/update.sql @@ -661,4 +661,56 @@ COMMENT ON COLUMN black_deacon_node_execution.total_tokens IS '总token消耗'; COMMENT ON COLUMN black_deacon_node_execution.status IS '执行状态:1-运行中,2-成功,3-失败,4-暂停,5-等待执行'; COMMENT ON COLUMN black_deacon_node_execution.duration_ms IS '执行时长(毫秒)'; COMMENT ON COLUMN black_deacon_node_execution.error_message IS '错误信息'; ---------------------pgsql创建black_deacon_node_execution表语句--------------------------- \ No newline at end of file +--------------------pgsql创建black_deacon_node_execution表语句--------------------------- + +-- ========== 会话记录 + 工作流/普通会话结果表(2026-08-13) ========== +CREATE TABLE IF NOT EXISTS black_deacon_session ( + id BIGINT PRIMARY KEY, -- 主键ID(非自增,hook snowflake) + tenant_id BIGINT NOT NULL DEFAULT 0, -- 租户ID + creator VARCHAR(64) NOT NULL, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updater VARCHAR(64) NOT NULL, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + deleted_at timestamp(6), + session_name VARCHAR(128) NOT NULL DEFAULT '' -- 会话名称 +); + +CREATE TABLE IF NOT EXISTS black_deacon_workflow_session_result ( + id BIGINT PRIMARY KEY, + tenant_id BIGINT NOT NULL DEFAULT 0, + creator VARCHAR(64) NOT NULL, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updater VARCHAR(64) NOT NULL, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + deleted_at timestamp(6), + session_id BIGINT NOT NULL DEFAULT 0, -- 所属会话ID + flow_id BIGINT NOT NULL DEFAULT 0, -- 工作流ID + flow_name VARCHAR(128) NOT NULL DEFAULT '', -- 工作流名称 + request_params JSONB DEFAULT '{}', -- 请求参数 + result_params JSONB DEFAULT '[]'::JSONB, -- 返回结果 + status SMALLINT NOT NULL DEFAULT 1, -- 状态:1-运行中,2-成功,3-失败 + total_tokens INTEGER NOT NULL DEFAULT 0, -- 总token + total_fee NUMERIC(10,4) NOT NULL DEFAULT 0, -- 总费用 + error_msg TEXT NOT NULL DEFAULT '' -- 错误信息 +); +CREATE INDEX idx_wsr_session ON black_deacon_workflow_session_result (session_id); +CREATE INDEX idx_wsr_flow ON black_deacon_workflow_session_result (flow_id, creator); +CREATE INDEX idx_wsr_created ON black_deacon_workflow_session_result (created_at); + +CREATE TABLE IF NOT EXISTS black_deacon_chat_session_result ( + id BIGINT PRIMARY KEY, + tenant_id BIGINT NOT NULL DEFAULT 0, + creator VARCHAR(64) NOT NULL, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updater VARCHAR(64) NOT NULL, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + deleted_at timestamp(6), + session_id BIGINT NOT NULL DEFAULT 0, -- 所属会话ID(级联软删) + question TEXT NOT NULL DEFAULT '', -- 用户问题 + answer TEXT NOT NULL DEFAULT '', -- 模型返回结果 + total_tokens INTEGER NOT NULL DEFAULT 0, -- 总token + total_fee NUMERIC(10,4) NOT NULL DEFAULT 0, -- 总费用 + error_msg TEXT NOT NULL DEFAULT '' -- 错误信息 +); +CREATE INDEX idx_csr_session ON black_deacon_chat_session_result (session_id); +CREATE INDEX idx_csr_created ON black_deacon_chat_session_result (created_at); \ No newline at end of file