Files
moss-ai/data/Starrocks/chat_history.sql
雷雨 8635b84b2d init
2025-12-15 22:05:56 +08:00

82 lines
3.3 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- ============================================
-- Moss AI 智能家居系统 - 对话记录表
-- 数据库: StarRocks
-- 用途: 存储用户与管家agent的对话记录
-- ============================================
CREATE DATABASE IF NOT EXISTS smart_home;
USE smart_home;
-- ============================================
-- 对话记录表
-- ============================================
CREATE TABLE IF NOT EXISTS chat_history (
id BIGINT NOT NULL COMMENT '主键ID',
system_user_id BIGINT NOT NULL COMMENT '系统用户ID',
created_at DATETIME COMMENT '创建时间',
context_id VARCHAR(100) NOT NULL COMMENT '会话上下文ID',
message_id VARCHAR(100) COMMENT '消息ID',
task_id VARCHAR(100) COMMENT '任务ID',
role VARCHAR(20) NOT NULL COMMENT '角色: user, agent, system',
content STRING NOT NULL COMMENT '消息内容',
status VARCHAR(20) COMMENT '状态: success, failed, error',
error_message STRING COMMENT '错误信息(如果失败)',
metadata STRING COMMENT '元数据JSON格式'
) ENGINE=OLAP
DUPLICATE KEY(id, system_user_id, created_at)
DISTRIBUTED BY HASH(system_user_id) BUCKETS 10
PROPERTIES (
"replication_num" = "1"
);
-- 创建索引StarRocks通过DUPLICATE KEY和分桶键自动优化查询
-- 查询优化: 按用户ID、会话ID、时间范围查询
-- ============================================
-- 对话列表表(会话列表)
-- ============================================
CREATE TABLE IF NOT EXISTS conversation_list (
id BIGINT NOT NULL COMMENT '主键ID',
system_user_id BIGINT NOT NULL COMMENT '系统用户ID',
updated_at DATETIME COMMENT '最后更新时间',
context_id VARCHAR(100) NOT NULL COMMENT '会话上下文ID唯一标识',
title VARCHAR(200) COMMENT '对话标题',
description VARCHAR(500) COMMENT '对话描述',
message_count INT COMMENT '消息数量',
last_message STRING COMMENT '最后一条消息内容(预览)',
created_at DATETIME COMMENT '创建时间',
is_active BOOLEAN COMMENT '是否激活'
) ENGINE=OLAP
DUPLICATE KEY(id, system_user_id, updated_at)
DISTRIBUTED BY HASH(system_user_id) BUCKETS 10
PROPERTIES (
"replication_num" = "1"
);
-- ============================================
-- 设备操作记录表
-- ============================================
CREATE TABLE IF NOT EXISTS device_operations (
id BIGINT NOT NULL COMMENT '主键ID',
system_user_id BIGINT NOT NULL COMMENT '系统用户ID',
created_at DATETIME COMMENT '创建时间',
context_id VARCHAR(100) COMMENT '会话上下文ID',
device_type VARCHAR(50) NOT NULL COMMENT '设备类型: air_conditioner, air_cleaner, bedside_lamp',
device_name VARCHAR(100) COMMENT '设备名称',
action VARCHAR(100) NOT NULL COMMENT '操作动作',
parameters STRING COMMENT '操作参数JSON格式',
success BOOLEAN NOT NULL COMMENT '是否成功',
response STRING COMMENT '操作响应',
error_message STRING COMMENT '错误信息(如果失败)',
execution_time INT COMMENT '执行时间(毫秒)'
) ENGINE=OLAP
DUPLICATE KEY(id, system_user_id, created_at)
DISTRIBUTED BY HASH(system_user_id) BUCKETS 10
PROPERTIES (
"replication_num" = "1"
);
-- 创建索引优化
-- 查询优化: 按用户ID、设备类型、时间范围、成功状态查询