From de314bc336dc611def89e03974235fa8192761bd Mon Sep 17 00:00:00 2001 From: BBIT-Kai <2911862937@qq.com> Date: Thu, 18 Sep 2025 17:10:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E8=A1=A8=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/SQL/ai_chat_history.sql | 46 +++++++++++++++++++++++++ server/SQL/ai_chat_profiles.sql | 59 ++++++++++++++++++++++++++++++++ server/SQL/ai_chat_sessions.sql | 45 ++++++++++++++++++++++++ server/SQL/ai_knowledge.sql | 45 ++++++++++++++++++++++++ server/SQL/ai_reports.sql | 43 +++++++++++++++++++++++ server/SQL/ai_reports_fields.sql | 47 +++++++++++++++++++++++++ server/SQL/ai_reports_tables.sql | 43 +++++++++++++++++++++++ 7 files changed, 328 insertions(+) create mode 100644 server/SQL/ai_chat_history.sql create mode 100644 server/SQL/ai_chat_profiles.sql create mode 100644 server/SQL/ai_chat_sessions.sql create mode 100644 server/SQL/ai_knowledge.sql create mode 100644 server/SQL/ai_reports.sql create mode 100644 server/SQL/ai_reports_fields.sql create mode 100644 server/SQL/ai_reports_tables.sql diff --git a/server/SQL/ai_chat_history.sql b/server/SQL/ai_chat_history.sql new file mode 100644 index 0000000..2182f13 --- /dev/null +++ b/server/SQL/ai_chat_history.sql @@ -0,0 +1,46 @@ +/* + Navicat Premium Dump SQL + + Source Server : 智能控制平台 + Source Server Type : PostgreSQL + Source Server Version : 150013 (150013) + Source Host : 10.10.10.9:5432 + Source Catalog : ktor2 + Source Schema : public + + Target Server Type : PostgreSQL + Target Server Version : 150013 (150013) + File Encoding : 65001 + + Date: 18/09/2025 16:09:38 +*/ + + +-- ---------------------------- +-- Table structure for ai_chat_history +-- ---------------------------- +DROP TABLE IF EXISTS "public"."ai_chat_history"; +CREATE TABLE "public"."ai_chat_history" ( + "id" uuid NOT NULL DEFAULT gen_random_uuid(), + "session_id" uuid NOT NULL, + "message" jsonb NOT NULL, + "created_at" timestamptz(6) NOT NULL DEFAULT now() +) +; +COMMENT ON COLUMN "public"."ai_chat_history"."id" IS '主键'; +COMMENT ON COLUMN "public"."ai_chat_history"."session_id" IS '所属对话ID'; +COMMENT ON COLUMN "public"."ai_chat_history"."message" IS '消息内容'; +COMMENT ON COLUMN "public"."ai_chat_history"."created_at" IS '创建时间'; +COMMENT ON TABLE "public"."ai_chat_history" IS 'AI对话历史记录'; + +-- ---------------------------- +-- Indexes structure for table ai_chat_history +-- ---------------------------- +CREATE INDEX "idx_ai_chat_history_session_id" ON "public"."ai_chat_history" USING btree ( + "session_id" "pg_catalog"."uuid_ops" ASC NULLS LAST +); + +-- ---------------------------- +-- Primary Key structure for table ai_chat_history +-- ---------------------------- +ALTER TABLE "public"."ai_chat_history" ADD CONSTRAINT "ai_chat_history_pkey" PRIMARY KEY ("id"); diff --git a/server/SQL/ai_chat_profiles.sql b/server/SQL/ai_chat_profiles.sql new file mode 100644 index 0000000..0e82a45 --- /dev/null +++ b/server/SQL/ai_chat_profiles.sql @@ -0,0 +1,59 @@ +/* + Navicat Premium Dump SQL + + Source Server : 智能控制平台 + Source Server Type : PostgreSQL + Source Server Version : 150013 (150013) + Source Host : 10.10.10.9:5432 + Source Catalog : ktor2 + Source Schema : public + + Target Server Type : PostgreSQL + Target Server Version : 150013 (150013) + File Encoding : 65001 + + Date: 18/09/2025 16:09:46 +*/ + + +-- ---------------------------- +-- Table structure for ai_chat_profiles +-- ---------------------------- +DROP TABLE IF EXISTS "public"."ai_chat_profiles"; +CREATE TABLE "public"."ai_chat_profiles" ( + "id" uuid NOT NULL DEFAULT gen_random_uuid(), + "title" varchar(100) COLLATE "pg_catalog"."default", + "ai_personality" json NOT NULL DEFAULT '{}'::json, + "welcome_words" varchar(100) COLLATE "pg_catalog"."default", + "created_at" timestamptz(6), + "is_active" bool DEFAULT true, + "available_roles" json NOT NULL, + "available_module" varchar(255) COLLATE "pg_catalog"."default", + "available_report_tables" json, + "description" varchar(255) COLLATE "pg_catalog"."default", + "updated_at" timestamptz(6), + "updated_by" uuid, + "created_by" uuid, + "available_kn_bases" json +) +; +COMMENT ON COLUMN "public"."ai_chat_profiles"."id" IS '主键'; +COMMENT ON COLUMN "public"."ai_chat_profiles"."title" IS '标题'; +COMMENT ON COLUMN "public"."ai_chat_profiles"."ai_personality" IS '综合描述(性格、业务等内容)'; +COMMENT ON COLUMN "public"."ai_chat_profiles"."welcome_words" IS '欢迎词'; +COMMENT ON COLUMN "public"."ai_chat_profiles"."created_at" IS '创建时间'; +COMMENT ON COLUMN "public"."ai_chat_profiles"."is_active" IS '是否可用'; +COMMENT ON COLUMN "public"."ai_chat_profiles"."available_roles" IS '该Ai所属用户角色'; +COMMENT ON COLUMN "public"."ai_chat_profiles"."available_module" IS '该AI所属模块'; +COMMENT ON COLUMN "public"."ai_chat_profiles"."available_report_tables" IS '该AI可用的数据库列表'; +COMMENT ON COLUMN "public"."ai_chat_profiles"."description" IS '描述'; +COMMENT ON COLUMN "public"."ai_chat_profiles"."updated_at" IS '更新时间'; +COMMENT ON COLUMN "public"."ai_chat_profiles"."updated_by" IS '更新人,外键,用户表主键'; +COMMENT ON COLUMN "public"."ai_chat_profiles"."created_by" IS '创建人,外键,用户表主键'; +COMMENT ON COLUMN "public"."ai_chat_profiles"."available_kn_bases" IS '该AI可用的知识库列表'; +COMMENT ON TABLE "public"."ai_chat_profiles" IS 'AI对话智能体'; + +-- ---------------------------- +-- Primary Key structure for table ai_chat_profiles +-- ---------------------------- +ALTER TABLE "public"."ai_chat_profiles" ADD CONSTRAINT "ai_profiles_pkey" PRIMARY KEY ("id"); diff --git a/server/SQL/ai_chat_sessions.sql b/server/SQL/ai_chat_sessions.sql new file mode 100644 index 0000000..493d336 --- /dev/null +++ b/server/SQL/ai_chat_sessions.sql @@ -0,0 +1,45 @@ +/* + Navicat Premium Dump SQL + + Source Server : 智能控制平台 + Source Server Type : PostgreSQL + Source Server Version : 150013 (150013) + Source Host : 10.10.10.9:5432 + Source Catalog : ktor2 + Source Schema : public + + Target Server Type : PostgreSQL + Target Server Version : 150013 (150013) + File Encoding : 65001 + + Date: 18/09/2025 16:09:53 +*/ + + +-- ---------------------------- +-- Table structure for ai_chat_sessions +-- ---------------------------- +DROP TABLE IF EXISTS "public"."ai_chat_sessions"; +CREATE TABLE "public"."ai_chat_sessions" ( + "id" uuid NOT NULL DEFAULT gen_random_uuid(), + "user_id" uuid, + "title" varchar(255) COLLATE "pg_catalog"."default", + "created_at" timestamptz(6), + "updated_at" timestamptz(6), + "ai_id" uuid, + "available_module" varchar(255) COLLATE "pg_catalog"."default" +) +; +COMMENT ON COLUMN "public"."ai_chat_sessions"."id" IS '主键'; +COMMENT ON COLUMN "public"."ai_chat_sessions"."user_id" IS '所属用户'; +COMMENT ON COLUMN "public"."ai_chat_sessions"."title" IS '对话标题'; +COMMENT ON COLUMN "public"."ai_chat_sessions"."created_at" IS '创建时间'; +COMMENT ON COLUMN "public"."ai_chat_sessions"."updated_at" IS '更新时间'; +COMMENT ON COLUMN "public"."ai_chat_sessions"."ai_id" IS '外键,对话智能体主键'; +COMMENT ON COLUMN "public"."ai_chat_sessions"."available_module" IS '该对话所属功能模块'; +COMMENT ON TABLE "public"."ai_chat_sessions" IS 'AI对话会话'; + +-- ---------------------------- +-- Primary Key structure for table ai_chat_sessions +-- ---------------------------- +ALTER TABLE "public"."ai_chat_sessions" ADD CONSTRAINT "ai_chat_sessions_pkey" PRIMARY KEY ("id"); diff --git a/server/SQL/ai_knowledge.sql b/server/SQL/ai_knowledge.sql new file mode 100644 index 0000000..81bd64d --- /dev/null +++ b/server/SQL/ai_knowledge.sql @@ -0,0 +1,45 @@ +/* + Navicat Premium Dump SQL + + Source Server : 智能控制平台 + Source Server Type : PostgreSQL + Source Server Version : 150013 (150013) + Source Host : 10.10.10.9:5432 + Source Catalog : ktor2 + Source Schema : public + + Target Server Type : PostgreSQL + Target Server Version : 150013 (150013) + File Encoding : 65001 + + Date: 18/09/2025 16:09:59 +*/ + + +-- ---------------------------- +-- Table structure for ai_knowledge +-- ---------------------------- +DROP TABLE IF EXISTS "public"."ai_knowledge"; +CREATE TABLE "public"."ai_knowledge" ( + "id" uuid NOT NULL DEFAULT gen_random_uuid(), + "name" varchar(255) COLLATE "pg_catalog"."default", + "description" text COLLATE "pg_catalog"."default", + "created_at" timestamptz(6), + "created_by" uuid, + "is_active" bool DEFAULT true, + "available_module" json +) +; +COMMENT ON COLUMN "public"."ai_knowledge"."id" IS '主键'; +COMMENT ON COLUMN "public"."ai_knowledge"."name" IS '知识库名称'; +COMMENT ON COLUMN "public"."ai_knowledge"."description" IS '描述'; +COMMENT ON COLUMN "public"."ai_knowledge"."created_at" IS '创建时间'; +COMMENT ON COLUMN "public"."ai_knowledge"."created_by" IS '外键,创建人,用户id'; +COMMENT ON COLUMN "public"."ai_knowledge"."is_active" IS '是否可用'; +COMMENT ON COLUMN "public"."ai_knowledge"."available_module" IS '所属功能模块'; +COMMENT ON TABLE "public"."ai_knowledge" IS 'AI知识库'; + +-- ---------------------------- +-- Primary Key structure for table ai_knowledge +-- ---------------------------- +ALTER TABLE "public"."ai_knowledge" ADD CONSTRAINT "ai_knowledge_pkey" PRIMARY KEY ("id"); diff --git a/server/SQL/ai_reports.sql b/server/SQL/ai_reports.sql new file mode 100644 index 0000000..5a70bbe --- /dev/null +++ b/server/SQL/ai_reports.sql @@ -0,0 +1,43 @@ +/* + Navicat Premium Dump SQL + + Source Server : 智能控制平台 + Source Server Type : PostgreSQL + Source Server Version : 150013 (150013) + Source Host : 10.10.10.9:5432 + Source Catalog : ktor2 + Source Schema : public + + Target Server Type : PostgreSQL + Target Server Version : 150013 (150013) + File Encoding : 65001 + + Date: 18/09/2025 16:10:07 +*/ + + +-- ---------------------------- +-- Table structure for ai_reports +-- ---------------------------- +DROP TABLE IF EXISTS "public"."ai_reports"; +CREATE TABLE "public"."ai_reports" ( + "id" uuid NOT NULL DEFAULT gen_random_uuid(), + "title" varchar(255) COLLATE "pg_catalog"."default", + "sql" text COLLATE "pg_catalog"."default", + "created_at" timestamptz(6), + "created_by" uuid, + "is_masked" bool NOT NULL +) +; +COMMENT ON COLUMN "public"."ai_reports"."id" IS '主键'; +COMMENT ON COLUMN "public"."ai_reports"."title" IS '报表名称'; +COMMENT ON COLUMN "public"."ai_reports"."sql" IS 'SQL语句'; +COMMENT ON COLUMN "public"."ai_reports"."created_at" IS '创建时间'; +COMMENT ON COLUMN "public"."ai_reports"."created_by" IS '创建者'; +COMMENT ON COLUMN "public"."ai_reports"."is_masked" IS '是否收藏'; +COMMENT ON TABLE "public"."ai_reports" IS 'AI报表记录'; + +-- ---------------------------- +-- Primary Key structure for table ai_reports +-- ---------------------------- +ALTER TABLE "public"."ai_reports" ADD CONSTRAINT "ai_report_pkey" PRIMARY KEY ("id"); diff --git a/server/SQL/ai_reports_fields.sql b/server/SQL/ai_reports_fields.sql new file mode 100644 index 0000000..dd7796d --- /dev/null +++ b/server/SQL/ai_reports_fields.sql @@ -0,0 +1,47 @@ +/* + Navicat Premium Dump SQL + + Source Server : 智能控制平台 + Source Server Type : PostgreSQL + Source Server Version : 150013 (150013) + Source Host : 10.10.10.9:5432 + Source Catalog : ktor2 + Source Schema : public + + Target Server Type : PostgreSQL + Target Server Version : 150013 (150013) + File Encoding : 65001 + + Date: 18/09/2025 16:10:12 +*/ + + +-- ---------------------------- +-- Table structure for ai_reports_fields +-- ---------------------------- +DROP TABLE IF EXISTS "public"."ai_reports_fields"; +CREATE TABLE "public"."ai_reports_fields" ( + "id" uuid NOT NULL DEFAULT gen_random_uuid(), + "table_id" uuid, + "name" varchar(100) COLLATE "pg_catalog"."default", + "type" varchar(50) COLLATE "pg_catalog"."default", + "description" text COLLATE "pg_catalog"."default", + "is_active" bool DEFAULT true, + "create_by" uuid, + "create_at" timestamptz(6) DEFAULT now() +) +; +COMMENT ON COLUMN "public"."ai_reports_fields"."id" IS '主键'; +COMMENT ON COLUMN "public"."ai_reports_fields"."table_id" IS '外键,所属表'; +COMMENT ON COLUMN "public"."ai_reports_fields"."name" IS '数据库字段名'; +COMMENT ON COLUMN "public"."ai_reports_fields"."type" IS '数据库字段数据类型'; +COMMENT ON COLUMN "public"."ai_reports_fields"."description" IS '字段描述'; +COMMENT ON COLUMN "public"."ai_reports_fields"."is_active" IS '是否可用'; +COMMENT ON COLUMN "public"."ai_reports_fields"."create_by" IS '外键,创建人'; +COMMENT ON COLUMN "public"."ai_reports_fields"."create_at" IS '创建时间'; +COMMENT ON TABLE "public"."ai_reports_fields" IS 'AI报表-数据源-数据库表字段'; + +-- ---------------------------- +-- Primary Key structure for table ai_reports_fields +-- ---------------------------- +ALTER TABLE "public"."ai_reports_fields" ADD CONSTRAINT "ai_reports_fields_pkey" PRIMARY KEY ("id"); diff --git a/server/SQL/ai_reports_tables.sql b/server/SQL/ai_reports_tables.sql new file mode 100644 index 0000000..f674f93 --- /dev/null +++ b/server/SQL/ai_reports_tables.sql @@ -0,0 +1,43 @@ +/* + Navicat Premium Dump SQL + + Source Server : 智能控制平台 + Source Server Type : PostgreSQL + Source Server Version : 150013 (150013) + Source Host : 10.10.10.9:5432 + Source Catalog : ktor2 + Source Schema : public + + Target Server Type : PostgreSQL + Target Server Version : 150013 (150013) + File Encoding : 65001 + + Date: 18/09/2025 16:10:18 +*/ + + +-- ---------------------------- +-- Table structure for ai_reports_tables +-- ---------------------------- +DROP TABLE IF EXISTS "public"."ai_reports_tables"; +CREATE TABLE "public"."ai_reports_tables" ( + "id" uuid NOT NULL DEFAULT gen_random_uuid(), + "name" varchar(255) COLLATE "pg_catalog"."default", + "description" text COLLATE "pg_catalog"."default", + "is_active" bool DEFAULT true, + "create_by" uuid, + "create_at" timestamptz(6) DEFAULT now() +) +; +COMMENT ON COLUMN "public"."ai_reports_tables"."id" IS '主键'; +COMMENT ON COLUMN "public"."ai_reports_tables"."name" IS '数据库表名'; +COMMENT ON COLUMN "public"."ai_reports_tables"."description" IS '数据库描述'; +COMMENT ON COLUMN "public"."ai_reports_tables"."is_active" IS '是否可用'; +COMMENT ON COLUMN "public"."ai_reports_tables"."create_by" IS '外键,创建人,用户id'; +COMMENT ON COLUMN "public"."ai_reports_tables"."create_at" IS '创建时间'; +COMMENT ON TABLE "public"."ai_reports_tables" IS 'AI报表-数据源-数据库表'; + +-- ---------------------------- +-- Primary Key structure for table ai_reports_tables +-- ---------------------------- +ALTER TABLE "public"."ai_reports_tables" ADD CONSTRAINT "ai_reports_tables_pkey" PRIMARY KEY ("id");