From b1a16ccf18170cd5be3b764a92db6da6716c6667 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=99=88=E5=AD=90=E9=BB=98?= <925456043@qq.com>
Date: Tue, 24 Mar 2026 12:36:44 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E9=80=9A=E8=BF=87Fly?=
=?UTF-8?q?way=E8=87=AA=E5=8A=A8=E5=88=9D=E5=A7=8B=E5=8C=96=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E5=BA=93?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 将 starter 初始化脚本迁移到 db/migration,并保留 V1-V3 作为首批迁移
- 清理旧 sql/initdb 挂载与历史分段 SQL,避免 Docker 启动时重复导库
- 更新 README、应用配置和中间件编排,统一空库启动方式
---
README.md | 17 +-
docker-compose.middleware.yml | 57 +-
docker-compose.yml | 4 -
easyflow-starter/easyflow-starter-all/pom.xml | 8 +
.../src/main/resources/application.yml | 20 +-
.../resources/db/migration/V1__quartz.sql | 35 +-
.../db/migration/V2__easyflow_schema.sql | 381 +-----
.../db/migration/V3__easyflow_seed.sql | 2 +-
pom.xml | 11 +
sql/01-easyflow-v2.ddl.sql | 1210 -----------------
sql/03-easyflow-v2.p1-ha.sql | 64 -
sql/04-easyflow-v2.p1-system-ha.sql | 88 --
...-easyflow-v2.p2-account-password-reset.sql | 2 -
sql/05-easyflow-v2.p2-faq.sql | 38 -
sql/06-easyflow-v2.p3-faq-category.sql | 62 -
...-easyflow-v2.p4-model-provider-refresh.sql | 81 --
sql/initdb/00-quartz.sql | 173 ---
sql/initdb/02-easyflow-v2.data.sql | 242 ----
sql/initdb/README.md | 11 -
19 files changed, 149 insertions(+), 2357 deletions(-)
rename sql/00-quartz.sql => easyflow-starter/easyflow-starter-all/src/main/resources/db/migration/V1__quartz.sql (87%)
rename sql/initdb/01-easyflow-v2.ddl.sql => easyflow-starter/easyflow-starter-all/src/main/resources/db/migration/V2__easyflow_schema.sql (73%)
rename sql/02-easyflow-v2.data.sql => easyflow-starter/easyflow-starter-all/src/main/resources/db/migration/V3__easyflow_seed.sql (99%)
delete mode 100644 sql/01-easyflow-v2.ddl.sql
delete mode 100644 sql/03-easyflow-v2.p1-ha.sql
delete mode 100644 sql/04-easyflow-v2.p1-system-ha.sql
delete mode 100644 sql/05-easyflow-v2.p2-account-password-reset.sql
delete mode 100644 sql/05-easyflow-v2.p2-faq.sql
delete mode 100644 sql/06-easyflow-v2.p3-faq-category.sql
delete mode 100644 sql/07-easyflow-v2.p4-model-provider-refresh.sql
delete mode 100644 sql/initdb/00-quartz.sql
delete mode 100644 sql/initdb/02-easyflow-v2.data.sql
delete mode 100644 sql/initdb/README.md
diff --git a/README.md b/README.md
index 1677ff3..acb2789 100644
--- a/README.md
+++ b/README.md
@@ -28,9 +28,14 @@ EasyFlow 是一个面向企业场景的 Java AI 应用开发平台,提供智
## 快速启动(开发环境)
### 1. 初始化数据库
-在 MySQL 中导入:
-- `sql/01-easyflow-v2.ddl.sql`
-- `sql/02-easyflow-v2.data.sql`
+只需要提前创建空库,例如:
+
+```sql
+CREATE DATABASE easyflow CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+```
+
+表结构、Quartz 表和基础数据会在后端启动时由 Flyway 自动迁移完成。
+当前初始化脚本仅保留 3 段:`V1__quartz.sql`、`V2__easyflow_schema.sql`、`V3__easyflow_seed.sql`。
### 2. 启动后端
在项目根目录执行:
@@ -42,6 +47,8 @@ java -jar easyflow-starter/easyflow-starter-all/target/easyflow-starter-all-0.0.
默认端口:`8111`(见 `easyflow-starter/easyflow-starter-all/src/main/resources/application.yml`)。
+首次连接空库时,应用会自动执行 `db/migration` 下的迁移脚本并初始化默认管理员、菜单、角色和模型服务商数据。
+
### 3. 启动前端
管理后台:
@@ -59,7 +66,7 @@ pnpm install
pnpm dev
```
-默认测试账号:`admin / 123456`
+默认测试账号:`admin / Easy@2026`
## 后端 Jar 包构建与部署
@@ -78,6 +85,8 @@ mvn -DskipTests -Dmaven.javadoc.skip=true clean package
java -jar easyflow-starter/easyflow-starter-all/target/easyflow-starter-all-0.0.1.jar --spring.profiles.active=prod
```
+生产环境同样只需要保证目标数据库已创建为空库,Flyway 会在应用启动时自动完成迁移。
+
可通过环境变量覆盖关键配置(示例):
```bash
diff --git a/docker-compose.middleware.yml b/docker-compose.middleware.yml
index 84ec6ee..c6f529c 100644
--- a/docker-compose.middleware.yml
+++ b/docker-compose.middleware.yml
@@ -13,18 +13,17 @@ services:
- --max_connections=500
- --sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
environment:
- TZ: ${TZ:-Asia/Shanghai}
- MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root}
- MYSQL_DATABASE: ${MYSQL_DATABASE:-easyflow}
- MYSQL_USER: ${MYSQL_USER:-easyflow}
- MYSQL_PASSWORD: ${MYSQL_PASSWORD:-123456}
+ TZ: Asia/Shanghai
+ MYSQL_ROOT_PASSWORD: root
+ MYSQL_DATABASE: easyflow
+ MYSQL_USER: easyflow
+ MYSQL_PASSWORD: "123456"
ports:
- - "${MYSQL_PORT:-3306}:3306"
+ - "3306:3306"
volumes:
- ./data/mysql:/var/lib/mysql
- - ./easyflow/sql/initdb:/docker-entrypoint-initdb.d:ro
healthcheck:
- test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-uroot", "-p${MYSQL_ROOT_PASSWORD:-root}"]
+ test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-uroot", "-proot"]
interval: 10s
timeout: 5s
retries: 10
@@ -34,13 +33,13 @@ services:
image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/kubesphere/redis:7.2.4-alpine-linuxarm64
container_name: easyflow-redis
restart: unless-stopped
- command: ["redis-server", "--appendonly", "yes", "--requirepass", "${REDIS_PASSWORD:-123456}"]
+ command: ["redis-server", "--appendonly", "yes", "--requirepass", "123456"]
ports:
- - "${REDIS_PORT:-6379}:6379"
+ - "6379:6379"
volumes:
- ./data/redis:/data
healthcheck:
- test: ["CMD", "redis-cli", "-a", "${REDIS_PASSWORD:-123456}", "ping"]
+ test: ["CMD", "redis-cli", "-a", "123456", "ping"]
interval: 10s
timeout: 5s
retries: 10
@@ -51,7 +50,7 @@ services:
container_name: easyflow-etcd
restart: unless-stopped
environment:
- TZ: ${TZ:-Asia/Shanghai}
+ TZ: Asia/Shanghai
ETCD_AUTO_COMPACTION_MODE: revision
ETCD_AUTO_COMPACTION_RETENTION: "1000"
ETCD_QUOTA_BACKEND_BYTES: "4294967296"
@@ -70,12 +69,12 @@ services:
restart: unless-stopped
command: server /data --address ":9000" --console-address ":9001"
environment:
- TZ: ${TZ:-Asia/Shanghai}
- MINIO_ROOT_USER: ${MINIO_ROOT_USER:-easyflowadmin}
- MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-easyflowadmin123}
+ TZ: Asia/Shanghai
+ MINIO_ROOT_USER: easyflowadmin
+ MINIO_ROOT_PASSWORD: easyflowadmin123
ports:
- - "${MINIO_PORT:-9000}:9000"
- - "${MINIO_CONSOLE_PORT:-9001}:9001"
+ - "9000:9000"
+ - "9001:9001"
volumes:
- ./data/minio:/data
@@ -86,12 +85,12 @@ services:
depends_on:
- minio
environment:
- MINIO_ROOT_USER: ${MINIO_ROOT_USER:-easyflowadmin}
- MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-easyflowadmin123}
- MINIO_ENDPOINT: ${MINIO_ENDPOINT:-http://minio:9000}
- MINIO_BUCKETS: ${MINIO_BUCKETS:-easyflow,milvus}
- MINIO_PUBLIC_BUCKETS: ${MINIO_PUBLIC_BUCKETS:-easyflow}
- MINIO_ALIAS: ${MINIO_ALIAS:-local}
+ MINIO_ROOT_USER: easyflowadmin
+ MINIO_ROOT_PASSWORD: easyflowadmin123
+ MINIO_ENDPOINT: http://minio:9000
+ MINIO_BUCKETS: easyflow,milvus
+ MINIO_PUBLIC_BUCKETS: easyflow
+ MINIO_ALIAS: local
volumes:
- ./scripts/minio/init-minio.sh:/scripts/init-minio.sh:ro
entrypoint: ["/bin/sh", "/scripts/init-minio.sh"]
@@ -106,11 +105,11 @@ services:
environment:
ETCD_ENDPOINTS: etcd:2379
COMMON_STORAGETYPE: minio
- MINIO_ADDRESS: ${MILVUS_MINIO_ADDRESS:-minio:9000}
- MINIO_ACCESS_KEY_ID: ${MINIO_ROOT_USER:-easyflowadmin}
- MINIO_SECRET_ACCESS_KEY: ${MINIO_ROOT_PASSWORD:-easyflowadmin123}
+ MINIO_ADDRESS: minio:9000
+ MINIO_ACCESS_KEY_ID: easyflowadmin
+ MINIO_SECRET_ACCESS_KEY: easyflowadmin123
MINIO_USE_SSL: "false"
- MINIO_BUCKET_NAME: ${MILVUS_MINIO_BUCKET:-milvus}
+ MINIO_BUCKET_NAME: milvus
depends_on:
etcd:
condition: service_started
@@ -119,7 +118,7 @@ services:
minio-init:
condition: service_completed_successfully
ports:
- - "${MILVUS_GRPC_PORT:-19530}:19530"
- - "${MILVUS_HTTP_PORT:-9091}:9091"
+ - "19530:19530"
+ - "9091:9091"
volumes:
- ./data/milvus:/var/lib/milvus
diff --git a/docker-compose.yml b/docker-compose.yml
index 14a9ce0..44120fb 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -61,10 +61,6 @@ services:
MYSQL_DATABASE: easyflow
ports:
- "3306:3306"
- volumes:
- - ./sql:/docker-entrypoint-initdb.d
- # 这个命令在默认 entrypoint 运行前修复权限
- entrypoint: sh -c "chown -R mysql:mysql /docker-entrypoint-initdb.d && docker-entrypoint.sh mysqld"
networks:
- easyflow-net
healthcheck:
diff --git a/easyflow-starter/easyflow-starter-all/pom.xml b/easyflow-starter/easyflow-starter-all/pom.xml
index 0508539..6e47031 100644
--- a/easyflow-starter/easyflow-starter-all/pom.xml
+++ b/easyflow-starter/easyflow-starter-all/pom.xml
@@ -72,6 +72,14 @@
org.springframework.boot
spring-boot-starter-actuator
+
+ org.flywaydb
+ flyway-core
+
+
+ org.flywaydb
+ flyway-mysql
+
diff --git a/easyflow-starter/easyflow-starter-all/src/main/resources/application.yml b/easyflow-starter/easyflow-starter-all/src/main/resources/application.yml
index 4ca406d..13f36c9 100644
--- a/easyflow-starter/easyflow-starter-all/src/main/resources/application.yml
+++ b/easyflow-starter/easyflow-starter-all/src/main/resources/application.yml
@@ -18,13 +18,19 @@ spring:
timeout-per-shutdown-phase: 30s
datasource:
# !!! 注意:useInformationSchema=true 是必须的,用于支持 MyBatis-Flex 正确读取表注释。
- url: jdbc:mysql://127.0.0.1:23306/easyflow?useInformationSchema=true&characterEncoding=utf-8
+ url: jdbc:mysql://127.0.0.1:33306/easyflow?useInformationSchema=true&characterEncoding=utf-8
username: root
password: root
+ flyway:
+ enabled: true
+ locations: classpath:db/migration
+ baseline-on-migrate: false
+ validate-on-migrate: true
+ clean-disabled: true
data:
redis:
host: 127.0.0.1
- port: 6379
+ port: 36379
database: 0
password: ${REDIS_PASSWORD:123456}
timeout: 5s
@@ -106,11 +112,11 @@ dromara:
minio:
- platform: minio-1
enable-storage: true
- access-key: ${MINIO_ACCESS_KEY:easyflowadmin}
- secret-key: ${MINIO_SECRET_KEY:easyflowadmin123}
- end-point: ${MINIO_ENDPOINT:http://127.0.0.1:9000}
- bucket-name: ${MINIO_BUCKET:easyflow}
- domain: ${MINIO_DOMAIN:http://127.0.0.1:9000/easyflow/}
+ access-key: easyflowadmin
+ secret-key: easyflowadmin123
+ end-point: http://127.0.0.1:39000
+ bucket-name: easyflow
+ domain: http://127.0.0.1:9000/easyflow/
base-path: attachment
# 自定义节点相关配置
diff --git a/sql/00-quartz.sql b/easyflow-starter/easyflow-starter-all/src/main/resources/db/migration/V1__quartz.sql
similarity index 87%
rename from sql/00-quartz.sql
rename to easyflow-starter/easyflow-starter-all/src/main/resources/db/migration/V1__quartz.sql
index 5f95b30..80d899d 100644
--- a/sql/00-quartz.sql
+++ b/easyflow-starter/easyflow-starter-all/src/main/resources/db/migration/V1__quartz.sql
@@ -1,16 +1,5 @@
SET FOREIGN_KEY_CHECKS = 0;
-DROP TABLE IF EXISTS TB_QRTZ_FIRED_TRIGGERS;
-DROP TABLE IF EXISTS TB_QRTZ_PAUSED_TRIGGER_GRPS;
-DROP TABLE IF EXISTS TB_QRTZ_SCHEDULER_STATE;
-DROP TABLE IF EXISTS TB_QRTZ_LOCKS;
-DROP TABLE IF EXISTS TB_QRTZ_SIMPLE_TRIGGERS;
-DROP TABLE IF EXISTS TB_QRTZ_SIMPROP_TRIGGERS;
-DROP TABLE IF EXISTS TB_QRTZ_CRON_TRIGGERS;
-DROP TABLE IF EXISTS TB_QRTZ_BLOB_TRIGGERS;
-DROP TABLE IF EXISTS TB_QRTZ_TRIGGERS;
-DROP TABLE IF EXISTS TB_QRTZ_JOB_DETAILS;
-DROP TABLE IF EXISTS TB_QRTZ_CALENDARS;
CREATE TABLE TB_QRTZ_JOB_DETAILS(
SCHED_NAME VARCHAR(120) NOT NULL,
@@ -33,15 +22,15 @@ TRIGGER_GROUP VARCHAR(190) NOT NULL,
JOB_NAME VARCHAR(190) NOT NULL,
JOB_GROUP VARCHAR(190) NOT NULL,
DESCRIPTION VARCHAR(250) NULL,
-NEXT_FIRE_TIME BIGINT(13) NULL,
-PREV_FIRE_TIME BIGINT(13) NULL,
+NEXT_FIRE_TIME BIGINT NULL,
+PREV_FIRE_TIME BIGINT NULL,
PRIORITY INTEGER NULL,
TRIGGER_STATE VARCHAR(16) NOT NULL,
TRIGGER_TYPE VARCHAR(8) NOT NULL,
-START_TIME BIGINT(13) NOT NULL,
-END_TIME BIGINT(13) NULL,
+START_TIME BIGINT NOT NULL,
+END_TIME BIGINT NULL,
CALENDAR_NAME VARCHAR(190) NULL,
-MISFIRE_INSTR SMALLINT(2) NULL,
+MISFIRE_INSTR SMALLINT NULL,
JOB_DATA BLOB NULL,
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
CONSTRAINT FK_TB_QRTZ_TRIGGERS_JOB_DETAILS FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
@@ -52,9 +41,9 @@ CREATE TABLE TB_QRTZ_SIMPLE_TRIGGERS (
SCHED_NAME VARCHAR(120) NOT NULL,
TRIGGER_NAME VARCHAR(190) NOT NULL,
TRIGGER_GROUP VARCHAR(190) NOT NULL,
-REPEAT_COUNT BIGINT(7) NOT NULL,
-REPEAT_INTERVAL BIGINT(12) NOT NULL,
-TIMES_TRIGGERED BIGINT(10) NOT NULL,
+REPEAT_COUNT BIGINT NOT NULL,
+REPEAT_INTERVAL BIGINT NOT NULL,
+TIMES_TRIGGERED BIGINT NOT NULL,
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
CONSTRAINT FK_TB_QRTZ_SIMPLE_TRIGGERS_TRIGGERS FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
REFERENCES TB_QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
@@ -122,8 +111,8 @@ ENTRY_ID VARCHAR(95) NOT NULL,
TRIGGER_NAME VARCHAR(190) NOT NULL,
TRIGGER_GROUP VARCHAR(190) NOT NULL,
INSTANCE_NAME VARCHAR(190) NOT NULL,
-FIRED_TIME BIGINT(13) NOT NULL,
-SCHED_TIME BIGINT(13) NOT NULL,
+FIRED_TIME BIGINT NOT NULL,
+SCHED_TIME BIGINT NOT NULL,
PRIORITY INTEGER NOT NULL,
STATE VARCHAR(16) NOT NULL,
JOB_NAME VARCHAR(190) NULL,
@@ -136,8 +125,8 @@ ENGINE=InnoDB;
CREATE TABLE TB_QRTZ_SCHEDULER_STATE (
SCHED_NAME VARCHAR(120) NOT NULL,
INSTANCE_NAME VARCHAR(190) NOT NULL,
-LAST_CHECKIN_TIME BIGINT(13) NOT NULL,
-CHECKIN_INTERVAL BIGINT(13) NOT NULL,
+LAST_CHECKIN_TIME BIGINT NOT NULL,
+CHECKIN_INTERVAL BIGINT NOT NULL,
PRIMARY KEY (SCHED_NAME,INSTANCE_NAME))
ENGINE=InnoDB;
diff --git a/sql/initdb/01-easyflow-v2.ddl.sql b/easyflow-starter/easyflow-starter-all/src/main/resources/db/migration/V2__easyflow_schema.sql
similarity index 73%
rename from sql/initdb/01-easyflow-v2.ddl.sql
rename to easyflow-starter/easyflow-starter-all/src/main/resources/db/migration/V2__easyflow_schema.sql
index ccec842..fefdbe1 100644
--- a/sql/initdb/01-easyflow-v2.ddl.sql
+++ b/easyflow-starter/easyflow-starter-all/src/main/resources/db/migration/V2__easyflow_schema.sql
@@ -5,7 +5,6 @@ FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for tb_bot
-- ----------------------------
-DROP TABLE IF EXISTS `tb_bot`;
CREATE TABLE `tb_bot`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键ID',
@@ -31,7 +30,6 @@ CREATE TABLE `tb_bot`
-- ----------------------------
-- Table structure for tb_bot_category
-- ----------------------------
-DROP TABLE IF EXISTS `tb_bot_category`;
CREATE TABLE `tb_bot_category`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -48,7 +46,6 @@ CREATE TABLE `tb_bot_category`
-- ----------------------------
-- Table structure for tb_bot_conversation
-- ----------------------------
-DROP TABLE IF EXISTS `tb_bot_conversation`;
CREATE TABLE `tb_bot_conversation`
(
`id` bigint UNSIGNED NOT NULL COMMENT '会话id',
@@ -65,7 +62,6 @@ CREATE TABLE `tb_bot_conversation`
-- ----------------------------
-- Table structure for tb_bot_document_collection
-- ----------------------------
-DROP TABLE IF EXISTS `tb_bot_document_collection`;
CREATE TABLE `tb_bot_document_collection`
(
`id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
@@ -79,7 +75,6 @@ CREATE TABLE `tb_bot_document_collection`
-- ----------------------------
-- Table structure for tb_bot_message
-- ----------------------------
-DROP TABLE IF EXISTS `tb_bot_message`;
CREATE TABLE `tb_bot_message`
(
`id` bigint UNSIGNED NOT NULL COMMENT 'ID',
@@ -101,7 +96,6 @@ CREATE TABLE `tb_bot_message`
-- ----------------------------
-- Table structure for tb_bot_model
-- ----------------------------
-DROP TABLE IF EXISTS `tb_bot_model`;
CREATE TABLE `tb_bot_model`
(
`id` bigint UNSIGNED NOT NULL,
@@ -114,7 +108,6 @@ CREATE TABLE `tb_bot_model`
-- ----------------------------
-- Table structure for tb_bot_plugin
-- ----------------------------
-DROP TABLE IF EXISTS `tb_bot_plugin`;
CREATE TABLE `tb_bot_plugin`
(
`id` bigint UNSIGNED NOT NULL,
@@ -128,14 +121,13 @@ CREATE TABLE `tb_bot_plugin`
-- ----------------------------
-- Table structure for tb_bot_recently_used
-- ----------------------------
-DROP TABLE IF EXISTS `tb_bot_recently_used`;
CREATE TABLE `tb_bot_recently_used`
(
- `id` bigint(0) UNSIGNED NOT NULL COMMENT '主键',
- `bot_id` bigint(0) UNSIGNED NOT NULL COMMENT 'botId',
- `created` datetime(0) NOT NULL COMMENT '创建时间',
- `created_by` bigint(0) UNSIGNED NOT NULL COMMENT '创建者',
- `sort_no` int(0) NULL DEFAULT 0 COMMENT '排序',
+ `id` bigint UNSIGNED NOT NULL COMMENT '主键',
+ `bot_id` bigint UNSIGNED NOT NULL COMMENT 'botId',
+ `created` datetime NOT NULL COMMENT '创建时间',
+ `created_by` bigint UNSIGNED NOT NULL COMMENT '创建者',
+ `sort_no` int NULL DEFAULT 0 COMMENT '排序',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uni_bot_recently_used`(`created_by`, `bot_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '最近使用' ROW_FORMAT = Dynamic;
@@ -143,7 +135,6 @@ CREATE TABLE `tb_bot_recently_used`
-- ----------------------------
-- Table structure for tb_bot_workflow
-- ----------------------------
-DROP TABLE IF EXISTS `tb_bot_workflow`;
CREATE TABLE `tb_bot_workflow`
(
`id` bigint UNSIGNED NOT NULL,
@@ -157,7 +148,6 @@ CREATE TABLE `tb_bot_workflow`
-- ----------------------------
-- Table structure for tb_datacenter_table
-- ----------------------------
-DROP TABLE IF EXISTS `tb_datacenter_table`;
CREATE TABLE `tb_datacenter_table`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -178,7 +168,6 @@ CREATE TABLE `tb_datacenter_table`
-- ----------------------------
-- Table structure for tb_datacenter_table_field
-- ----------------------------
-DROP TABLE IF EXISTS `tb_datacenter_table_field`;
CREATE TABLE `tb_datacenter_table_field`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -198,7 +187,6 @@ CREATE TABLE `tb_datacenter_table_field`
-- ----------------------------
-- Table structure for tb_document
-- ----------------------------
-DROP TABLE IF EXISTS `tb_document`;
CREATE TABLE `tb_document`
(
`id` bigint UNSIGNED NOT NULL,
@@ -222,7 +210,6 @@ CREATE TABLE `tb_document`
-- ----------------------------
-- Table structure for tb_document_chunk
-- ----------------------------
-DROP TABLE IF EXISTS `tb_document_chunk`;
CREATE TABLE `tb_document_chunk`
(
`id` bigint UNSIGNED NOT NULL,
@@ -236,33 +223,32 @@ CREATE TABLE `tb_document_chunk`
-- ----------------------------
-- Table structure for tb_document_collection
-- ----------------------------
-DROP TABLE IF EXISTS `tb_document_collection`;
CREATE TABLE `tb_document_collection`
(
- `id` bigint(0) UNSIGNED NOT NULL COMMENT 'Id',
+ `id` bigint UNSIGNED NOT NULL COMMENT 'Id',
`collection_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'DOCUMENT' COMMENT '知识库类型: DOCUMENT/FAQ',
`alias` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '别名',
- `dept_id` bigint(0) UNSIGNED NOT NULL COMMENT '部门ID',
- `tenant_id` bigint(0) UNSIGNED NOT NULL COMMENT '租户ID',
+ `dept_id` bigint UNSIGNED NOT NULL COMMENT '部门ID',
+ `tenant_id` bigint UNSIGNED NOT NULL COMMENT '租户ID',
`icon` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'ICON',
`title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '标题',
`description` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
`slug` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'URL 别名',
- `vector_store_enable` tinyint(1) NULL DEFAULT NULL COMMENT '是否启用向量存储',
+ `vector_store_enable` tinyint NULL DEFAULT NULL COMMENT '是否启用向量存储',
`vector_store_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '向量数据库类型',
`vector_store_collection` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '向量数据库集合',
`vector_store_config` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '向量数据库配置',
- `vector_embed_model_id` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT 'Embedding 模型ID',
- `dimension_of_vector_model` int(0) NULL DEFAULT NULL COMMENT '向量模型维度',
- `created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
- `created_by` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT '创建用户ID',
- `modified` datetime(0) NULL DEFAULT NULL COMMENT '最后一次修改时间',
- `modified_by` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT '最后一次修改用户ID',
+ `vector_embed_model_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT 'Embedding 模型ID',
+ `dimension_of_vector_model` int NULL DEFAULT NULL COMMENT '向量模型维度',
+ `created` datetime NULL DEFAULT NULL COMMENT '创建时间',
+ `created_by` bigint UNSIGNED NULL DEFAULT NULL COMMENT '创建用户ID',
+ `modified` datetime NULL DEFAULT NULL COMMENT '最后一次修改时间',
+ `modified_by` bigint UNSIGNED NULL DEFAULT NULL COMMENT '最后一次修改用户ID',
`options` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '其他配置',
- `rerank_model_id` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT '重排模型id',
- `search_engine_enable` tinyint(1) NULL DEFAULT NULL COMMENT '是否启用搜索引擎',
+ `rerank_model_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT '重排模型id',
+ `search_engine_enable` tinyint NULL DEFAULT NULL COMMENT '是否启用搜索引擎',
`english_name` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '英文名称',
- `category_id` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT '分类ID',
+ `category_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT '分类ID',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `tb_ai_knowledge_alias_uindex`(`alias`) USING BTREE,
INDEX `idx_collection_type`(`collection_type`) USING BTREE
@@ -271,24 +257,22 @@ CREATE TABLE `tb_document_collection`
-- ----------------------------
-- Table structure for tb_document_collection_category
-- ----------------------------
-DROP TABLE IF EXISTS `tb_document_collection_category`;
CREATE TABLE `tb_document_collection_category`
(
- `id` bigint(0) UNSIGNED NOT NULL COMMENT '主键',
+ `id` bigint UNSIGNED NOT NULL COMMENT '主键',
`category_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '分类名称',
- `sort_no` int(0) NULL DEFAULT 0 COMMENT '排序',
- `status` int(0) NOT NULL DEFAULT 0 COMMENT '数据状态',
- `created` datetime(0) NOT NULL COMMENT '创建时间',
- `created_by` bigint(0) UNSIGNED NOT NULL COMMENT '创建者',
- `modified` datetime(0) NOT NULL COMMENT '修改时间',
- `modified_by` bigint(0) UNSIGNED NOT NULL COMMENT '修改者',
+ `sort_no` int NULL DEFAULT 0 COMMENT '排序',
+ `status` int NOT NULL DEFAULT 0 COMMENT '数据状态',
+ `created` datetime NOT NULL COMMENT '创建时间',
+ `created_by` bigint UNSIGNED NOT NULL COMMENT '创建者',
+ `modified` datetime NOT NULL COMMENT '修改时间',
+ `modified_by` bigint UNSIGNED NOT NULL COMMENT '修改者',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for tb_faq_category
-- ----------------------------
-DROP TABLE IF EXISTS `tb_faq_category`;
CREATE TABLE `tb_faq_category`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -298,7 +282,7 @@ CREATE TABLE `tb_faq_category`
`level_no` tinyint UNSIGNED NOT NULL DEFAULT 1 COMMENT '层级(1-3)',
`category_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '分类名称',
`sort_no` int NOT NULL DEFAULT 0 COMMENT '排序',
- `is_default` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否默认分类',
+ `is_default` tinyint NOT NULL DEFAULT 0 COMMENT '是否默认分类',
`status` int NOT NULL DEFAULT 0 COMMENT '数据状态',
`created` datetime NULL DEFAULT NULL COMMENT '创建时间',
`created_by` bigint UNSIGNED NULL DEFAULT NULL COMMENT '创建人',
@@ -313,7 +297,6 @@ CREATE TABLE `tb_faq_category`
-- ----------------------------
-- Table structure for tb_faq_item
-- ----------------------------
-DROP TABLE IF EXISTS `tb_faq_item`;
CREATE TABLE `tb_faq_item`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -337,7 +320,6 @@ CREATE TABLE `tb_faq_item`
-- ----------------------------
-- Table structure for tb_document_history
-- ----------------------------
-DROP TABLE IF EXISTS `tb_document_history`;
CREATE TABLE `tb_document_history`
(
`id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
@@ -356,13 +338,12 @@ CREATE TABLE `tb_document_history`
-- ----------------------------
-- Table structure for tb_model
-- ----------------------------
-DROP TABLE IF EXISTS `tb_model`;
CREATE TABLE `tb_model`
(
- `id` bigint(0) UNSIGNED NOT NULL COMMENT 'ID',
- `dept_id` bigint(0) UNSIGNED NOT NULL COMMENT '部门ID',
- `tenant_id` bigint(0) UNSIGNED NOT NULL COMMENT '租户ID',
- `provider_id` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT '供应商id',
+ `id` bigint UNSIGNED NOT NULL COMMENT 'ID',
+ `dept_id` bigint UNSIGNED NOT NULL COMMENT '部门ID',
+ `tenant_id` bigint UNSIGNED NOT NULL COMMENT '租户ID',
+ `provider_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT '供应商id',
`title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '标题或名称',
`icon` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'ICON',
`description` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
@@ -374,22 +355,21 @@ CREATE TABLE `tb_model`
`options` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '其他配置内容',
`group_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '分组名称',
`model_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '模型类型: chatModel/embeddingModel/rerankModel/orc..',
- `with_used` tinyint(1) NULL DEFAULT NULL COMMENT '是否使用',
- `support_thinking` tinyint(1) NULL DEFAULT NULL COMMENT '是否支持推理',
- `support_tool` tinyint(1) NULL DEFAULT NULL COMMENT '是否支持工具',
- `support_image` tinyint(1) NULL DEFAULT NULL COMMENT '是否支持图片',
- `support_image_b64_only` tinyint(1) NULL DEFAULT NULL COMMENT '仅支持 base64 的图片类型',
- `support_video` tinyint(1) NULL DEFAULT NULL COMMENT '是否支持视频',
- `support_audio` tinyint(1) NULL DEFAULT NULL COMMENT '是否支持音频',
- `support_free` tinyint(1) NULL DEFAULT NULL COMMENT '是否免费',
- `support_tool_message` tinyint(1) NULL DEFAULT NULL COMMENT '是否支持tool消息',
+ `with_used` tinyint NULL DEFAULT NULL COMMENT '是否使用',
+ `support_thinking` tinyint NULL DEFAULT NULL COMMENT '是否支持推理',
+ `support_tool` tinyint NULL DEFAULT NULL COMMENT '是否支持工具',
+ `support_image` tinyint NULL DEFAULT NULL COMMENT '是否支持图片',
+ `support_image_b64_only` tinyint NULL DEFAULT NULL COMMENT '仅支持 base64 的图片类型',
+ `support_video` tinyint NULL DEFAULT NULL COMMENT '是否支持视频',
+ `support_audio` tinyint NULL DEFAULT NULL COMMENT '是否支持音频',
+ `support_free` tinyint NULL DEFAULT NULL COMMENT '是否免费',
+ `support_tool_message` tinyint NULL DEFAULT NULL COMMENT '是否支持tool消息',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '大模型管理' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for tb_model_provider
-- ----------------------------
-DROP TABLE IF EXISTS `tb_model_provider`;
CREATE TABLE `tb_model_provider`
(
`id` bigint UNSIGNED NOT NULL COMMENT 'id',
@@ -411,7 +391,6 @@ CREATE TABLE `tb_model_provider`
-- ----------------------------
-- Table structure for tb_plugin
-- ----------------------------
-DROP TABLE IF EXISTS `tb_plugin`;
CREATE TABLE `tb_plugin`
(
`id` bigint UNSIGNED NOT NULL COMMENT '插件id',
@@ -437,7 +416,6 @@ CREATE TABLE `tb_plugin`
-- ----------------------------
-- Table structure for tb_plugin_category
-- ----------------------------
-DROP TABLE IF EXISTS `tb_plugin_category`;
CREATE TABLE `tb_plugin_category`
(
`id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
@@ -449,7 +427,6 @@ CREATE TABLE `tb_plugin_category`
-- ----------------------------
-- Table structure for tb_plugin_category_mapping
-- ----------------------------
-DROP TABLE IF EXISTS `tb_plugin_category_mapping`;
CREATE TABLE `tb_plugin_category_mapping`
(
`category_id` bigint UNSIGNED NOT NULL,
@@ -459,7 +436,6 @@ CREATE TABLE `tb_plugin_category_mapping`
-- ----------------------------
-- Table structure for tb_plugin_item
-- ----------------------------
-DROP TABLE IF EXISTS `tb_plugin_item`;
CREATE TABLE `tb_plugin_item`
(
`id` bigint UNSIGNED NOT NULL COMMENT '插件工具id',
@@ -478,214 +454,9 @@ CREATE TABLE `tb_plugin_item`
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '插件工具表' ROW_FORMAT = DYNAMIC;
--- ----------------------------
--- Table structure for tb_qrtz_blob_triggers
--- ----------------------------
-DROP TABLE IF EXISTS `tb_qrtz_blob_triggers`;
-CREATE TABLE `tb_qrtz_blob_triggers`
-(
- `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `BLOB_DATA` blob NULL,
- PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
- INDEX `SCHED_NAME`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
- CONSTRAINT `TB_QRTZ_BLOB_TRIGGERS_IBFK_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `tb_qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_qrtz_calendars
--- ----------------------------
-DROP TABLE IF EXISTS `tb_qrtz_calendars`;
-CREATE TABLE `tb_qrtz_calendars`
-(
- `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `CALENDAR` blob NOT NULL,
- PRIMARY KEY (`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_qrtz_cron_triggers
--- ----------------------------
-DROP TABLE IF EXISTS `tb_qrtz_cron_triggers`;
-CREATE TABLE `tb_qrtz_cron_triggers`
-(
- `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `CRON_EXPRESSION` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TIME_ZONE_ID` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
- CONSTRAINT `TB_QRTZ_CRON_TRIGGERS_IBFK_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `tb_qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_qrtz_fired_triggers
--- ----------------------------
-DROP TABLE IF EXISTS `tb_qrtz_fired_triggers`;
-CREATE TABLE `tb_qrtz_fired_triggers`
-(
- `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `ENTRY_ID` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `FIRED_TIME` bigint NOT NULL,
- `SCHED_TIME` bigint NOT NULL,
- `PRIORITY` int NOT NULL,
- `STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- PRIMARY KEY (`SCHED_NAME`, `ENTRY_ID`) USING BTREE,
- INDEX `IDX_QRTZ_FT_TRIG_INST_NAME`(`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE,
- INDEX `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY`(`SCHED_NAME`, `INSTANCE_NAME`, `REQUESTS_RECOVERY`) USING BTREE,
- INDEX `IDX_QRTZ_FT_J_G`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,
- INDEX `IDX_QRTZ_FT_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE,
- INDEX `IDX_QRTZ_FT_T_G`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
- INDEX `IDX_QRTZ_FT_TG`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_qrtz_job_details
--- ----------------------------
-DROP TABLE IF EXISTS `tb_qrtz_job_details`;
-CREATE TABLE `tb_qrtz_job_details`
-(
- `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- `JOB_CLASS_NAME` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `IS_DURABLE` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `IS_UPDATE_DATA` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `JOB_DATA` blob NULL,
- PRIMARY KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,
- INDEX `IDX_QRTZ_J_REQ_RECOVERY`(`SCHED_NAME`, `REQUESTS_RECOVERY`) USING BTREE,
- INDEX `IDX_QRTZ_J_GRP`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_qrtz_locks
--- ----------------------------
-DROP TABLE IF EXISTS `tb_qrtz_locks`;
-CREATE TABLE `tb_qrtz_locks`
-(
- `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `LOCK_NAME` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- PRIMARY KEY (`SCHED_NAME`, `LOCK_NAME`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_qrtz_paused_trigger_grps
--- ----------------------------
-DROP TABLE IF EXISTS `tb_qrtz_paused_trigger_grps`;
-CREATE TABLE `tb_qrtz_paused_trigger_grps`
-(
- `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- PRIMARY KEY (`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_qrtz_scheduler_state
--- ----------------------------
-DROP TABLE IF EXISTS `tb_qrtz_scheduler_state`;
-CREATE TABLE `tb_qrtz_scheduler_state`
-(
- `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `LAST_CHECKIN_TIME` bigint NOT NULL,
- `CHECKIN_INTERVAL` bigint NOT NULL,
- PRIMARY KEY (`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_qrtz_simple_triggers
--- ----------------------------
-DROP TABLE IF EXISTS `tb_qrtz_simple_triggers`;
-CREATE TABLE `tb_qrtz_simple_triggers`
-(
- `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `REPEAT_COUNT` bigint NOT NULL,
- `REPEAT_INTERVAL` bigint NOT NULL,
- `TIMES_TRIGGERED` bigint NOT NULL,
- PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
- CONSTRAINT `TB_QRTZ_SIMPLE_TRIGGERS_IBFK_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `tb_qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_qrtz_simprop_triggers
--- ----------------------------
-DROP TABLE IF EXISTS `tb_qrtz_simprop_triggers`;
-CREATE TABLE `tb_qrtz_simprop_triggers`
-(
- `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `STR_PROP_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- `STR_PROP_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- `STR_PROP_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- `INT_PROP_1` int NULL DEFAULT NULL,
- `INT_PROP_2` int NULL DEFAULT NULL,
- `LONG_PROP_1` bigint NULL DEFAULT NULL,
- `LONG_PROP_2` bigint NULL DEFAULT NULL,
- `DEC_PROP_1` decimal(13, 4) NULL DEFAULT NULL,
- `DEC_PROP_2` decimal(13, 4) NULL DEFAULT NULL,
- `BOOL_PROP_1` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- `BOOL_PROP_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
- CONSTRAINT `TB_QRTZ_SIMPROP_TRIGGERS_IBFK_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `tb_qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_qrtz_triggers
--- ----------------------------
-DROP TABLE IF EXISTS `tb_qrtz_triggers`;
-CREATE TABLE `tb_qrtz_triggers`
-(
- `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- `NEXT_FIRE_TIME` bigint NULL DEFAULT NULL,
- `PREV_FIRE_TIME` bigint NULL DEFAULT NULL,
- `PRIORITY` int NULL DEFAULT NULL,
- `TRIGGER_STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_TYPE` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `START_TIME` bigint NOT NULL,
- `END_TIME` bigint NULL DEFAULT NULL,
- `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- `MISFIRE_INSTR` smallint NULL DEFAULT NULL,
- `JOB_DATA` blob NULL,
- PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
- INDEX `IDX_QRTZ_T_J`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,
- INDEX `IDX_QRTZ_T_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE,
- INDEX `IDX_QRTZ_T_C`(`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE,
- INDEX `IDX_QRTZ_T_G`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE,
- INDEX `IDX_QRTZ_T_STATE`(`SCHED_NAME`, `TRIGGER_STATE`) USING BTREE,
- INDEX `IDX_QRTZ_T_N_STATE`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE,
- INDEX `IDX_QRTZ_T_N_G_STATE`(`SCHED_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE,
- INDEX `IDX_QRTZ_T_NEXT_FIRE_TIME`(`SCHED_NAME`, `NEXT_FIRE_TIME`) USING BTREE,
- INDEX `IDX_QRTZ_T_NFT_ST`(`SCHED_NAME`, `TRIGGER_STATE`, `NEXT_FIRE_TIME`) USING BTREE,
- INDEX `IDX_QRTZ_T_NFT_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`) USING BTREE,
- INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_STATE`) USING BTREE,
- INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE,
- CONSTRAINT `TB_QRTZ_TRIGGERS_IBFK_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `tb_qrtz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
-- ----------------------------
-- Table structure for tb_resource
-- ----------------------------
-DROP TABLE IF EXISTS `tb_resource`;
CREATE TABLE `tb_resource`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -710,7 +481,6 @@ CREATE TABLE `tb_resource`
-- ----------------------------
-- Table structure for tb_resource_category
-- ----------------------------
-DROP TABLE IF EXISTS `tb_resource_category`;
CREATE TABLE `tb_resource_category`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -727,7 +497,6 @@ CREATE TABLE `tb_resource_category`
-- ----------------------------
-- Table structure for tb_sys_account
-- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_account`;
CREATE TABLE `tb_sys_account`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -754,7 +523,6 @@ CREATE TABLE `tb_sys_account`
-- ----------------------------
-- Table structure for tb_sys_account_position
-- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_account_position`;
CREATE TABLE `tb_sys_account_position`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -767,7 +535,6 @@ CREATE TABLE `tb_sys_account_position`
-- ----------------------------
-- Table structure for tb_sys_account_role
-- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_account_role`;
CREATE TABLE `tb_sys_account_role`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -780,7 +547,6 @@ CREATE TABLE `tb_sys_account_role`
-- ----------------------------
-- Table structure for tb_sys_api_key
-- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_api_key`;
CREATE TABLE `tb_sys_api_key`
(
`id` bigint UNSIGNED NOT NULL COMMENT 'id',
@@ -798,7 +564,6 @@ CREATE TABLE `tb_sys_api_key`
-- ----------------------------
-- Table structure for tb_sys_api_key_resource
-- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_api_key_resource`;
CREATE TABLE `tb_sys_api_key_resource`
(
`id` bigint UNSIGNED NOT NULL COMMENT 'id',
@@ -811,7 +576,6 @@ CREATE TABLE `tb_sys_api_key_resource`
-- ----------------------------
-- Table structure for tb_sys_api_key_resource_mapping
-- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_api_key_resource_mapping`;
CREATE TABLE `tb_sys_api_key_resource_mapping`
(
`id` bigint UNSIGNED NOT NULL COMMENT 'id',
@@ -824,7 +588,6 @@ CREATE TABLE `tb_sys_api_key_resource_mapping`
-- ----------------------------
-- Table structure for tb_sys_dept
-- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_dept`;
CREATE TABLE `tb_sys_dept`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -846,7 +609,6 @@ CREATE TABLE `tb_sys_dept`
-- ----------------------------
-- Table structure for tb_sys_dict
-- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_dict`;
CREATE TABLE `tb_sys_dict`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -866,7 +628,6 @@ CREATE TABLE `tb_sys_dict`
-- ----------------------------
-- Table structure for tb_sys_dict_item
-- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_dict_item`;
CREATE TABLE `tb_sys_dict_item`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -887,7 +648,6 @@ CREATE TABLE `tb_sys_dict_item`
-- ----------------------------
-- Table structure for tb_sys_job
-- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_job`;
CREATE TABLE `tb_sys_job`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -912,7 +672,6 @@ CREATE TABLE `tb_sys_job`
-- ----------------------------
-- Table structure for tb_sys_job_log
-- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_job_log`;
CREATE TABLE `tb_sys_job_log`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -932,7 +691,6 @@ CREATE TABLE `tb_sys_job_log`
-- ----------------------------
-- Table structure for tb_sys_log
-- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_log`;
CREATE TABLE `tb_sys_log`
(
`id` bigint UNSIGNED NOT NULL COMMENT 'ID',
@@ -953,7 +711,6 @@ CREATE TABLE `tb_sys_log`
-- ----------------------------
-- Table structure for tb_sys_menu
-- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_menu`;
CREATE TABLE `tb_sys_menu`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -978,7 +735,6 @@ CREATE TABLE `tb_sys_menu`
-- ----------------------------
-- Table structure for tb_sys_option
-- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_option`;
CREATE TABLE `tb_sys_option`
(
`tenant_id` bigint UNSIGNED NOT NULL COMMENT '租户ID',
@@ -990,7 +746,6 @@ CREATE TABLE `tb_sys_option`
-- ----------------------------
-- Table structure for tb_sys_position
-- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_position`;
CREATE TABLE `tb_sys_position`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -1011,7 +766,6 @@ CREATE TABLE `tb_sys_position`
-- ----------------------------
-- Table structure for tb_sys_role
-- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_role`;
CREATE TABLE `tb_sys_role`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -1025,8 +779,8 @@ CREATE TABLE `tb_sys_role`
`modified_by` bigint UNSIGNED NOT NULL COMMENT '修改者',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注',
`data_scope` int NULL DEFAULT 1 COMMENT '数据权限(EnumDataScope)',
- `menu_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '菜单树选择项是否关联显示',
- `dept_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '部门树选择项是否关联显示',
+ `menu_check_strictly` tinyint NULL DEFAULT 1 COMMENT '菜单树选择项是否关联显示',
+ `dept_check_strictly` tinyint NULL DEFAULT 1 COMMENT '部门树选择项是否关联显示',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uni_tenant_role`(`tenant_id`, `role_key`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '系统角色' ROW_FORMAT = DYNAMIC;
@@ -1034,7 +788,6 @@ CREATE TABLE `tb_sys_role`
-- ----------------------------
-- Table structure for tb_sys_role_dept
-- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_role_dept`;
CREATE TABLE `tb_sys_role_dept`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -1047,7 +800,6 @@ CREATE TABLE `tb_sys_role_dept`
-- ----------------------------
-- Table structure for tb_sys_role_menu
-- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_role_menu`;
CREATE TABLE `tb_sys_role_menu`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -1060,7 +812,6 @@ CREATE TABLE `tb_sys_role_menu`
-- ----------------------------
-- Table structure for tb_workflow
-- ----------------------------
-DROP TABLE IF EXISTS `tb_workflow`;
CREATE TABLE `tb_workflow`
(
`id` bigint UNSIGNED NOT NULL COMMENT 'ID 主键',
@@ -1085,7 +836,6 @@ CREATE TABLE `tb_workflow`
-- ----------------------------
-- Table structure for tb_workflow_category
-- ----------------------------
-DROP TABLE IF EXISTS `tb_workflow_category`;
CREATE TABLE `tb_workflow_category`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -1102,7 +852,6 @@ CREATE TABLE `tb_workflow_category`
-- ----------------------------
-- Table structure for tb_workflow_exec_result
-- ----------------------------
-DROP TABLE IF EXISTS `tb_workflow_exec_result`;
CREATE TABLE `tb_workflow_exec_result`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -1127,7 +876,6 @@ CREATE TABLE `tb_workflow_exec_result`
-- ----------------------------
-- Table structure for tb_workflow_exec_step
-- ----------------------------
-DROP TABLE IF EXISTS `tb_workflow_exec_step`;
CREATE TABLE `tb_workflow_exec_step`
(
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
@@ -1151,55 +899,52 @@ CREATE TABLE `tb_workflow_exec_step`
-- ----------------------------
-- Table structure for tb_sys_user_feedback
-- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_user_feedback`;
CREATE TABLE `tb_sys_user_feedback`
(
- `id` bigint(0) UNSIGNED NOT NULL COMMENT '主键id',
+ `id` bigint UNSIGNED NOT NULL COMMENT '主键id',
`feedback_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '问题摘要',
- `feedback_type` int(0) NOT NULL COMMENT '问题类型(1-功能故障 2-优化建议 3-账号问题 4-其他)',
+ `feedback_type` int NOT NULL COMMENT '问题类型(1-功能故障 2-优化建议 3-账号问题 4-其他)',
`contact_info` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '联系方式【手机号/邮箱】',
`attachment_url` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '附件url',
- `status` int(0) NULL DEFAULT NULL COMMENT '反馈处理状态(0-未查看 1-已查看 2-已处理)',
- `handler_id` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT '处理人id',
- `handle_time` datetime(0) NULL DEFAULT NULL COMMENT '处理时间',
- `dept_id` bigint(0) UNSIGNED NOT NULL COMMENT '部门ID',
- `tenant_id` bigint(0) UNSIGNED NOT NULL COMMENT '租户ID',
- `created` datetime(0) NOT NULL COMMENT '创建时间',
- `created_by` bigint(0) UNSIGNED NOT NULL COMMENT '创建人',
- `modified` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间',
- `modified_by` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT '最后修改的人',
+ `status` int NULL DEFAULT NULL COMMENT '反馈处理状态(0-未查看 1-已查看 2-已处理)',
+ `handler_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT '处理人id',
+ `handle_time` datetime NULL DEFAULT NULL COMMENT '处理时间',
+ `dept_id` bigint UNSIGNED NOT NULL COMMENT '部门ID',
+ `tenant_id` bigint UNSIGNED NOT NULL COMMENT '租户ID',
+ `created` datetime NOT NULL COMMENT '创建时间',
+ `created_by` bigint UNSIGNED NOT NULL COMMENT '创建人',
+ `modified` datetime NULL DEFAULT NULL COMMENT '最后修改时间',
+ `modified_by` bigint UNSIGNED NULL DEFAULT NULL COMMENT '最后修改的人',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for tb_mcp
-- ----------------------------
-DROP TABLE IF EXISTS `tb_mcp`;
CREATE TABLE `tb_mcp`
(
- `id` bigint(0) UNSIGNED NOT NULL COMMENT 'id',
+ `id` bigint UNSIGNED NOT NULL COMMENT 'id',
`title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '标题',
`description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
`config_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '完整MCP配置JSON',
- `dept_id` bigint(0) UNSIGNED NOT NULL COMMENT '部门ID',
- `tenant_id` bigint(0) UNSIGNED NOT NULL COMMENT '租户ID',
- `created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
- `created_by` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT '创建者ID',
- `modified` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
- `modified_by` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT '修改者ID',
- `status` tinyint(1) NULL DEFAULT 0 COMMENT '是否启用',
+ `dept_id` bigint UNSIGNED NOT NULL COMMENT '部门ID',
+ `tenant_id` bigint UNSIGNED NOT NULL COMMENT '租户ID',
+ `created` datetime NULL DEFAULT NULL COMMENT '创建时间',
+ `created_by` bigint UNSIGNED NULL DEFAULT NULL COMMENT '创建者ID',
+ `modified` datetime NULL DEFAULT NULL COMMENT '修改时间',
+ `modified_by` bigint UNSIGNED NULL DEFAULT NULL COMMENT '修改者ID',
+ `status` tinyint NULL DEFAULT 0 COMMENT '是否启用',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'mcp表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for tb_bot_mcp
-- ----------------------------
-DROP TABLE IF EXISTS `tb_bot_mcp`;
CREATE TABLE `tb_bot_mcp`
(
- `id` bigint(0) UNSIGNED NOT NULL COMMENT 'id',
- `bot_id` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT 'botId',
- `mcp_id` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT 'mcpId',
+ `id` bigint UNSIGNED NOT NULL COMMENT 'id',
+ `bot_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT 'botId',
+ `mcp_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT 'mcpId',
`mcp_tool_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'mcp工具名称',
`mcp_tool_description` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'mcp工具描述',
PRIMARY KEY (`id`) USING BTREE,
diff --git a/sql/02-easyflow-v2.data.sql b/easyflow-starter/easyflow-starter-all/src/main/resources/db/migration/V3__easyflow_seed.sql
similarity index 99%
rename from sql/02-easyflow-v2.data.sql
rename to easyflow-starter/easyflow-starter-all/src/main/resources/db/migration/V3__easyflow_seed.sql
index f1f89b5..0e2d5cf 100644
--- a/sql/02-easyflow-v2.data.sql
+++ b/easyflow-starter/easyflow-starter-all/src/main/resources/db/migration/V3__easyflow_seed.sql
@@ -3,7 +3,7 @@ SET NAMES utf8mb4;
-- ----------------------------
-- Records of tb_sys_account
-- ----------------------------
-INSERT INTO `tb_sys_account` (`id`, `dept_id`, `tenant_id`, `login_name`, `password`, `password_reset_required`, `account_type`, `nickname`, `mobile`, `email`, `avatar`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (1, 1, 1000000, 'admin', '$2a$10$mni2UdHMUwomVzvZtdECAOwYJevZ2z48ApO.JSVhyEaQ/AOKr4VP2', 0, 99, '超级管理员', '15555555555', 'bbb@qq.com', 'https://static.agentscenter.cn/public/1/2025/12/17/684ea528-8e42-489c-b254-4e52e0679431/b.jpeg', 1, '2025-06-06 11:32:21', 1, '2025-12-17 17:51:16', 1, '');
+INSERT INTO `tb_sys_account` (`id`, `dept_id`, `tenant_id`, `login_name`, `password`, `password_reset_required`, `account_type`, `nickname`, `mobile`, `email`, `avatar`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (1, 1, 1000000, 'admin', '$2a$10$Kmro/PF/MXkcV.o2I7.GiOEx/Y8l/E78ZyGW8OUgldDC46Hi.yidm', 0, 99, '超级管理员', '15555555555', 'bbb@qq.com', 'https://static.agentscenter.cn/public/1/2025/12/17/684ea528-8e42-489c-b254-4e52e0679431/b.jpeg', 1, '2025-06-06 11:32:21', 1, '2025-12-17 17:51:16', 1, '');
-- ----------------------------
-- Records of tb_sys_account_role
diff --git a/pom.xml b/pom.xml
index 1364f3d..ea58096 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,6 +25,7 @@
0.0.1
4.9.3
3.5.9
+ 10.20.1
2.0.17
4.0.3
2.0.57
@@ -239,6 +240,16 @@
spring-boot-starter-actuator
${spring-boot.version}
+
+ org.flywaydb
+ flyway-core
+ ${flyway.version}
+
+
+ org.flywaydb
+ flyway-mysql
+ ${flyway.version}
+
com.alibaba
diff --git a/sql/01-easyflow-v2.ddl.sql b/sql/01-easyflow-v2.ddl.sql
deleted file mode 100644
index ccec842..0000000
--- a/sql/01-easyflow-v2.ddl.sql
+++ /dev/null
@@ -1,1210 +0,0 @@
-SET NAMES utf8mb4;
-SET
-FOREIGN_KEY_CHECKS = 0;
-
--- ----------------------------
--- Table structure for tb_bot
--- ----------------------------
-DROP TABLE IF EXISTS `tb_bot`;
-CREATE TABLE `tb_bot`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键ID',
- `alias` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '别名',
- `dept_id` bigint UNSIGNED NOT NULL COMMENT '部门ID',
- `tenant_id` bigint UNSIGNED NOT NULL COMMENT '租户ID',
- `category_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT '分类ID',
- `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '标题',
- `description` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
- `icon` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '图标',
- `model_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT '模型 ID',
- `model_options` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '模型配置',
- `status` int NULL DEFAULT 0 COMMENT '数据状态',
- `options` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '选项',
- `created` datetime NULL DEFAULT NULL COMMENT '创建时间',
- `created_by` bigint UNSIGNED NULL DEFAULT NULL COMMENT '创建者ID',
- `modified` datetime NULL DEFAULT NULL COMMENT '修改时间',
- `modified_by` bigint UNSIGNED NULL DEFAULT NULL COMMENT '修改者ID',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `tb_ai_bot_alias_uindex`(`alias`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'bot表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_bot_category
--- ----------------------------
-DROP TABLE IF EXISTS `tb_bot_category`;
-CREATE TABLE `tb_bot_category`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `category_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '分类名称',
- `sort_no` int NULL DEFAULT 0 COMMENT '排序',
- `status` int NOT NULL DEFAULT 0 COMMENT '数据状态',
- `created` datetime NOT NULL COMMENT '创建时间',
- `created_by` bigint UNSIGNED NOT NULL COMMENT '创建者',
- `modified` datetime NOT NULL COMMENT '修改时间',
- `modified_by` bigint UNSIGNED NOT NULL COMMENT '修改者',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'bot分类' ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Table structure for tb_bot_conversation
--- ----------------------------
-DROP TABLE IF EXISTS `tb_bot_conversation`;
-CREATE TABLE `tb_bot_conversation`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '会话id',
- `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '会话标题',
- `bot_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT 'botid',
- `account_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT '账户 id',
- `created` datetime NULL DEFAULT NULL COMMENT '创建时间',
- `created_by` bigint UNSIGNED NULL DEFAULT NULL,
- `modified` datetime NULL DEFAULT NULL,
- `modified_by` bigint UNSIGNED NULL DEFAULT NULL,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'bot对话' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_bot_document_collection
--- ----------------------------
-DROP TABLE IF EXISTS `tb_bot_document_collection`;
-CREATE TABLE `tb_bot_document_collection`
-(
- `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
- `bot_id` bigint UNSIGNED NULL DEFAULT NULL,
- `document_collection_id` bigint UNSIGNED NULL DEFAULT NULL,
- `options` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uni_bot_document_collection`(`bot_id`, `document_collection_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 36 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'bot绑定的知识库' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_bot_message
--- ----------------------------
-DROP TABLE IF EXISTS `tb_bot_message`;
-CREATE TABLE `tb_bot_message`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT 'ID',
- `bot_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT 'botId',
- `account_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT '关联的账户ID',
- `conversation_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT '会话ID',
- `role` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '角色[user|assistant]',
- `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '内容',
- `image` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '图片',
- `options` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '选项',
- `created` datetime NULL DEFAULT NULL COMMENT '创建时间',
- `modified` datetime NULL DEFAULT NULL COMMENT '更新时间',
- PRIMARY KEY (`id`) USING BTREE,
- INDEX `bot_id`(`bot_id`) USING BTREE,
- INDEX `account_id`(`account_id`) USING BTREE,
- INDEX `session_id`(`conversation_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'bot消息记录表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_bot_model
--- ----------------------------
-DROP TABLE IF EXISTS `tb_bot_model`;
-CREATE TABLE `tb_bot_model`
-(
- `id` bigint UNSIGNED NOT NULL,
- `bot_id` bigint UNSIGNED NULL DEFAULT NULL,
- `model_id` bigint UNSIGNED NULL DEFAULT NULL,
- `options` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'bot绑定的大模型' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_bot_plugin
--- ----------------------------
-DROP TABLE IF EXISTS `tb_bot_plugin`;
-CREATE TABLE `tb_bot_plugin`
-(
- `id` bigint UNSIGNED NOT NULL,
- `bot_id` bigint UNSIGNED NULL DEFAULT NULL,
- `plugin_item_id` bigint UNSIGNED NULL DEFAULT NULL,
- `options` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uni_bot_plugin`(`bot_id`, `plugin_item_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'bot绑定的插件' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_bot_recently_used
--- ----------------------------
-DROP TABLE IF EXISTS `tb_bot_recently_used`;
-CREATE TABLE `tb_bot_recently_used`
-(
- `id` bigint(0) UNSIGNED NOT NULL COMMENT '主键',
- `bot_id` bigint(0) UNSIGNED NOT NULL COMMENT 'botId',
- `created` datetime(0) NOT NULL COMMENT '创建时间',
- `created_by` bigint(0) UNSIGNED NOT NULL COMMENT '创建者',
- `sort_no` int(0) NULL DEFAULT 0 COMMENT '排序',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uni_bot_recently_used`(`created_by`, `bot_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '最近使用' ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Table structure for tb_bot_workflow
--- ----------------------------
-DROP TABLE IF EXISTS `tb_bot_workflow`;
-CREATE TABLE `tb_bot_workflow`
-(
- `id` bigint UNSIGNED NOT NULL,
- `bot_id` bigint UNSIGNED NULL DEFAULT NULL,
- `workflow_id` bigint UNSIGNED NULL DEFAULT NULL,
- `options` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uni_bot_workflow`(`bot_id`, `workflow_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'bot绑定的工作流' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_datacenter_table
--- ----------------------------
-DROP TABLE IF EXISTS `tb_datacenter_table`;
-CREATE TABLE `tb_datacenter_table`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `dept_id` bigint UNSIGNED NOT NULL COMMENT '部门ID',
- `tenant_id` bigint UNSIGNED NOT NULL COMMENT '租户ID',
- `table_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '数据表名',
- `table_desc` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '数据表描述',
- `actual_table` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '物理表名',
- `status` int NOT NULL DEFAULT 0 COMMENT '数据状态',
- `created` datetime NOT NULL COMMENT '创建时间',
- `created_by` bigint UNSIGNED NOT NULL COMMENT '创建者',
- `modified` datetime NOT NULL COMMENT '修改时间',
- `modified_by` bigint UNSIGNED NOT NULL COMMENT '修改者',
- `options` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '扩展项',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '数据中枢表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_datacenter_table_field
--- ----------------------------
-DROP TABLE IF EXISTS `tb_datacenter_table_field`;
-CREATE TABLE `tb_datacenter_table_field`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `table_id` bigint UNSIGNED NOT NULL COMMENT '数据表ID',
- `field_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '字段名称',
- `field_desc` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字段描述',
- `field_type` int NOT NULL COMMENT '字段类型',
- `required` int NOT NULL DEFAULT 0 COMMENT '是否必填',
- `options` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '扩展项',
- `created` datetime NOT NULL COMMENT '创建时间',
- `created_by` bigint UNSIGNED NOT NULL COMMENT '创建者',
- `modified` datetime NOT NULL COMMENT '修改时间',
- `modified_by` bigint UNSIGNED NOT NULL COMMENT '修改者',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '数据中枢字段表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_document
--- ----------------------------
-DROP TABLE IF EXISTS `tb_document`;
-CREATE TABLE `tb_document`
-(
- `id` bigint UNSIGNED NOT NULL,
- `collection_id` bigint UNSIGNED NOT NULL COMMENT '知识库ID',
- `document_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '文档类型 pdf/word/aieditor 等',
- `document_path` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '文档路径',
- `title` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '标题',
- `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '内容',
- `content_type` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '内容类型',
- `slug` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'URL 别名',
- `order_no` int NULL DEFAULT NULL COMMENT '排序序号',
- `options` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '其他配置项',
- `created` datetime NULL DEFAULT NULL COMMENT '创建时间',
- `created_by` bigint UNSIGNED NULL DEFAULT NULL COMMENT '创建人ID',
- `modified` datetime NULL DEFAULT NULL COMMENT '最后的修改时间',
- `modified_by` bigint UNSIGNED NULL DEFAULT NULL COMMENT '最后的修改人的ID',
- PRIMARY KEY (`id`) USING BTREE,
- INDEX `knowledge_id`(`collection_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '文档' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_document_chunk
--- ----------------------------
-DROP TABLE IF EXISTS `tb_document_chunk`;
-CREATE TABLE `tb_document_chunk`
-(
- `id` bigint UNSIGNED NOT NULL,
- `document_id` bigint UNSIGNED NOT NULL COMMENT '文档ID',
- `document_collection_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT '知识库ID',
- `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '分块内容',
- `sorting` int NULL DEFAULT NULL COMMENT '分割顺序',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '文档分块表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_document_collection
--- ----------------------------
-DROP TABLE IF EXISTS `tb_document_collection`;
-CREATE TABLE `tb_document_collection`
-(
- `id` bigint(0) UNSIGNED NOT NULL COMMENT 'Id',
- `collection_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'DOCUMENT' COMMENT '知识库类型: DOCUMENT/FAQ',
- `alias` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '别名',
- `dept_id` bigint(0) UNSIGNED NOT NULL COMMENT '部门ID',
- `tenant_id` bigint(0) UNSIGNED NOT NULL COMMENT '租户ID',
- `icon` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'ICON',
- `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '标题',
- `description` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
- `slug` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'URL 别名',
- `vector_store_enable` tinyint(1) NULL DEFAULT NULL COMMENT '是否启用向量存储',
- `vector_store_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '向量数据库类型',
- `vector_store_collection` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '向量数据库集合',
- `vector_store_config` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '向量数据库配置',
- `vector_embed_model_id` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT 'Embedding 模型ID',
- `dimension_of_vector_model` int(0) NULL DEFAULT NULL COMMENT '向量模型维度',
- `created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
- `created_by` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT '创建用户ID',
- `modified` datetime(0) NULL DEFAULT NULL COMMENT '最后一次修改时间',
- `modified_by` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT '最后一次修改用户ID',
- `options` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '其他配置',
- `rerank_model_id` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT '重排模型id',
- `search_engine_enable` tinyint(1) NULL DEFAULT NULL COMMENT '是否启用搜索引擎',
- `english_name` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '英文名称',
- `category_id` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT '分类ID',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `tb_ai_knowledge_alias_uindex`(`alias`) USING BTREE,
- INDEX `idx_collection_type`(`collection_type`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '知识库' ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Table structure for tb_document_collection_category
--- ----------------------------
-DROP TABLE IF EXISTS `tb_document_collection_category`;
-CREATE TABLE `tb_document_collection_category`
-(
- `id` bigint(0) UNSIGNED NOT NULL COMMENT '主键',
- `category_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '分类名称',
- `sort_no` int(0) NULL DEFAULT 0 COMMENT '排序',
- `status` int(0) NOT NULL DEFAULT 0 COMMENT '数据状态',
- `created` datetime(0) NOT NULL COMMENT '创建时间',
- `created_by` bigint(0) UNSIGNED NOT NULL COMMENT '创建者',
- `modified` datetime(0) NOT NULL COMMENT '修改时间',
- `modified_by` bigint(0) UNSIGNED NOT NULL COMMENT '修改者',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Table structure for tb_faq_category
--- ----------------------------
-DROP TABLE IF EXISTS `tb_faq_category`;
-CREATE TABLE `tb_faq_category`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `collection_id` bigint UNSIGNED NOT NULL COMMENT '知识库ID',
- `parent_id` bigint UNSIGNED NOT NULL DEFAULT 0 COMMENT '父分类ID,0表示根',
- `ancestors` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '0' COMMENT '祖先路径(逗号分隔)',
- `level_no` tinyint UNSIGNED NOT NULL DEFAULT 1 COMMENT '层级(1-3)',
- `category_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '分类名称',
- `sort_no` int NOT NULL DEFAULT 0 COMMENT '排序',
- `is_default` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否默认分类',
- `status` int NOT NULL DEFAULT 0 COMMENT '数据状态',
- `created` datetime NULL DEFAULT NULL COMMENT '创建时间',
- `created_by` bigint UNSIGNED NULL DEFAULT NULL COMMENT '创建人',
- `modified` datetime NULL DEFAULT NULL COMMENT '更新时间',
- `modified_by` bigint UNSIGNED NULL DEFAULT NULL COMMENT '更新人',
- PRIMARY KEY (`id`) USING BTREE,
- INDEX `idx_faq_category_collection_parent_sort`(`collection_id`, `parent_id`, `sort_no`) USING BTREE,
- INDEX `idx_faq_category_collection_level`(`collection_id`, `level_no`) USING BTREE,
- INDEX `idx_faq_category_collection_status`(`collection_id`, `status`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'FAQ分类' ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Table structure for tb_faq_item
--- ----------------------------
-DROP TABLE IF EXISTS `tb_faq_item`;
-CREATE TABLE `tb_faq_item`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `collection_id` bigint UNSIGNED NOT NULL COMMENT '知识库ID',
- `category_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT 'FAQ分类ID',
- `question` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '问题',
- `answer_html` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '答案HTML',
- `answer_text` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '答案纯文本',
- `order_no` int NULL DEFAULT 0 COMMENT '排序',
- `options` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '扩展项',
- `created` datetime NULL DEFAULT NULL COMMENT '创建时间',
- `created_by` bigint UNSIGNED NULL DEFAULT NULL COMMENT '创建人',
- `modified` datetime NULL DEFAULT NULL COMMENT '更新时间',
- `modified_by` bigint UNSIGNED NULL DEFAULT NULL COMMENT '更新人',
- PRIMARY KEY (`id`) USING BTREE,
- INDEX `idx_faq_collection_id`(`collection_id`) USING BTREE,
- INDEX `idx_faq_collection_order`(`collection_id`, `order_no`) USING BTREE,
- INDEX `idx_faq_collection_category_order`(`collection_id`, `category_id`, `order_no`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'FAQ条目' ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Table structure for tb_document_history
--- ----------------------------
-DROP TABLE IF EXISTS `tb_document_history`;
-CREATE TABLE `tb_document_history`
-(
- `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
- `document_id` bigint NULL DEFAULT NULL COMMENT '修改的文档ID',
- `old_title` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '旧标题',
- `new_title` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '新标题',
- `old_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '旧内容',
- `new_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '新内容',
- `old_document_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '旧的文档类型',
- `new_document_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '新的额文档类型',
- `created` datetime NULL DEFAULT NULL COMMENT '创建时间',
- `created_by` bigint NULL DEFAULT NULL COMMENT '创建人ID',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '文档历史记录' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_model
--- ----------------------------
-DROP TABLE IF EXISTS `tb_model`;
-CREATE TABLE `tb_model`
-(
- `id` bigint(0) UNSIGNED NOT NULL COMMENT 'ID',
- `dept_id` bigint(0) UNSIGNED NOT NULL COMMENT '部门ID',
- `tenant_id` bigint(0) UNSIGNED NOT NULL COMMENT '租户ID',
- `provider_id` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT '供应商id',
- `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '标题或名称',
- `icon` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'ICON',
- `description` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
- `endpoint` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '大模型请求地址',
- `request_path` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '请求路径',
- `model_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '大模型名称',
- `api_key` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '大模型 API KEY',
- `extra_config` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '大模型其他属性配置',
- `options` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '其他配置内容',
- `group_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '分组名称',
- `model_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '模型类型: chatModel/embeddingModel/rerankModel/orc..',
- `with_used` tinyint(1) NULL DEFAULT NULL COMMENT '是否使用',
- `support_thinking` tinyint(1) NULL DEFAULT NULL COMMENT '是否支持推理',
- `support_tool` tinyint(1) NULL DEFAULT NULL COMMENT '是否支持工具',
- `support_image` tinyint(1) NULL DEFAULT NULL COMMENT '是否支持图片',
- `support_image_b64_only` tinyint(1) NULL DEFAULT NULL COMMENT '仅支持 base64 的图片类型',
- `support_video` tinyint(1) NULL DEFAULT NULL COMMENT '是否支持视频',
- `support_audio` tinyint(1) NULL DEFAULT NULL COMMENT '是否支持音频',
- `support_free` tinyint(1) NULL DEFAULT NULL COMMENT '是否免费',
- `support_tool_message` tinyint(1) NULL DEFAULT NULL COMMENT '是否支持tool消息',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '大模型管理' ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Table structure for tb_model_provider
--- ----------------------------
-DROP TABLE IF EXISTS `tb_model_provider`;
-CREATE TABLE `tb_model_provider`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT 'id',
- `provider_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '供应商名称',
- `provider_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '不同的 client 实现,默认为 openai',
- `icon` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '图标',
- `api_key` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'apiKey',
- `endpoint` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'endPoint',
- `chat_path` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '对话地址',
- `embed_path` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '向量地址',
- `rerank_path` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '重排路径',
- `created` datetime NOT NULL COMMENT '创建时间',
- `created_by` bigint UNSIGNED NOT NULL COMMENT '创建者',
- `modified` datetime NOT NULL COMMENT '修改时间',
- `modified_by` bigint UNSIGNED NOT NULL COMMENT '修改者',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '大模型供应商,比如 Aliyun/Gitee/火山引擎 等' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_plugin
--- ----------------------------
-DROP TABLE IF EXISTS `tb_plugin`;
-CREATE TABLE `tb_plugin`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '插件id',
- `alias` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '别名',
- `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '名称',
- `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
- `type` int NULL DEFAULT NULL COMMENT '类型',
- `base_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '基础URL',
- `auth_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '认证方式 【apiKey/none】',
- `created` datetime NULL DEFAULT NULL COMMENT '创建时间',
- `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '图标地址',
- `position` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '认证参数位置 【headers, query】',
- `headers` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '请求头',
- `token_key` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'token键',
- `token_value` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'token值',
- `dept_id` bigint NULL DEFAULT NULL COMMENT '部门id',
- `tenant_id` bigint NULL DEFAULT NULL COMMENT '租户id',
- `created_by` bigint NULL DEFAULT NULL COMMENT '创建人',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `tb_ai_plugin_alias_uindex`(`alias`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '插件表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_plugin_category
--- ----------------------------
-DROP TABLE IF EXISTS `tb_plugin_category`;
-CREATE TABLE `tb_plugin_category`
-(
- `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
- `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `created_at` datetime NULL DEFAULT NULL,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 44 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '插件分类' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_plugin_category_mapping
--- ----------------------------
-DROP TABLE IF EXISTS `tb_plugin_category_mapping`;
-CREATE TABLE `tb_plugin_category_mapping`
-(
- `category_id` bigint UNSIGNED NOT NULL,
- `plugin_id` bigint UNSIGNED NOT NULL
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '插件分类关联表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_plugin_item
--- ----------------------------
-DROP TABLE IF EXISTS `tb_plugin_item`;
-CREATE TABLE `tb_plugin_item`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '插件工具id',
- `plugin_id` bigint UNSIGNED NOT NULL COMMENT '插件id',
- `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '名称',
- `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
- `base_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '基础路径',
- `created` datetime NULL DEFAULT NULL COMMENT '创建时间',
- `status` int NULL DEFAULT 0 COMMENT '是否启用',
- `input_data` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '输入参数',
- `output_data` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '输出参数',
- `request_method` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '请求方式【Post, Get, Put, Delete】',
- `service_status` int NULL DEFAULT NULL COMMENT '服务状态[0 下线 1 上线]',
- `debug_status` int NULL DEFAULT NULL COMMENT '调试状态【0失败 1成功】',
- `english_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '英文名称',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '插件工具表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_qrtz_blob_triggers
--- ----------------------------
-DROP TABLE IF EXISTS `tb_qrtz_blob_triggers`;
-CREATE TABLE `tb_qrtz_blob_triggers`
-(
- `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `BLOB_DATA` blob NULL,
- PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
- INDEX `SCHED_NAME`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
- CONSTRAINT `TB_QRTZ_BLOB_TRIGGERS_IBFK_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `tb_qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_qrtz_calendars
--- ----------------------------
-DROP TABLE IF EXISTS `tb_qrtz_calendars`;
-CREATE TABLE `tb_qrtz_calendars`
-(
- `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `CALENDAR` blob NOT NULL,
- PRIMARY KEY (`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_qrtz_cron_triggers
--- ----------------------------
-DROP TABLE IF EXISTS `tb_qrtz_cron_triggers`;
-CREATE TABLE `tb_qrtz_cron_triggers`
-(
- `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `CRON_EXPRESSION` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TIME_ZONE_ID` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
- CONSTRAINT `TB_QRTZ_CRON_TRIGGERS_IBFK_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `tb_qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_qrtz_fired_triggers
--- ----------------------------
-DROP TABLE IF EXISTS `tb_qrtz_fired_triggers`;
-CREATE TABLE `tb_qrtz_fired_triggers`
-(
- `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `ENTRY_ID` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `FIRED_TIME` bigint NOT NULL,
- `SCHED_TIME` bigint NOT NULL,
- `PRIORITY` int NOT NULL,
- `STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- PRIMARY KEY (`SCHED_NAME`, `ENTRY_ID`) USING BTREE,
- INDEX `IDX_QRTZ_FT_TRIG_INST_NAME`(`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE,
- INDEX `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY`(`SCHED_NAME`, `INSTANCE_NAME`, `REQUESTS_RECOVERY`) USING BTREE,
- INDEX `IDX_QRTZ_FT_J_G`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,
- INDEX `IDX_QRTZ_FT_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE,
- INDEX `IDX_QRTZ_FT_T_G`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
- INDEX `IDX_QRTZ_FT_TG`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_qrtz_job_details
--- ----------------------------
-DROP TABLE IF EXISTS `tb_qrtz_job_details`;
-CREATE TABLE `tb_qrtz_job_details`
-(
- `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- `JOB_CLASS_NAME` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `IS_DURABLE` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `IS_UPDATE_DATA` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `JOB_DATA` blob NULL,
- PRIMARY KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,
- INDEX `IDX_QRTZ_J_REQ_RECOVERY`(`SCHED_NAME`, `REQUESTS_RECOVERY`) USING BTREE,
- INDEX `IDX_QRTZ_J_GRP`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_qrtz_locks
--- ----------------------------
-DROP TABLE IF EXISTS `tb_qrtz_locks`;
-CREATE TABLE `tb_qrtz_locks`
-(
- `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `LOCK_NAME` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- PRIMARY KEY (`SCHED_NAME`, `LOCK_NAME`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_qrtz_paused_trigger_grps
--- ----------------------------
-DROP TABLE IF EXISTS `tb_qrtz_paused_trigger_grps`;
-CREATE TABLE `tb_qrtz_paused_trigger_grps`
-(
- `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- PRIMARY KEY (`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_qrtz_scheduler_state
--- ----------------------------
-DROP TABLE IF EXISTS `tb_qrtz_scheduler_state`;
-CREATE TABLE `tb_qrtz_scheduler_state`
-(
- `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `LAST_CHECKIN_TIME` bigint NOT NULL,
- `CHECKIN_INTERVAL` bigint NOT NULL,
- PRIMARY KEY (`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_qrtz_simple_triggers
--- ----------------------------
-DROP TABLE IF EXISTS `tb_qrtz_simple_triggers`;
-CREATE TABLE `tb_qrtz_simple_triggers`
-(
- `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `REPEAT_COUNT` bigint NOT NULL,
- `REPEAT_INTERVAL` bigint NOT NULL,
- `TIMES_TRIGGERED` bigint NOT NULL,
- PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
- CONSTRAINT `TB_QRTZ_SIMPLE_TRIGGERS_IBFK_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `tb_qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_qrtz_simprop_triggers
--- ----------------------------
-DROP TABLE IF EXISTS `tb_qrtz_simprop_triggers`;
-CREATE TABLE `tb_qrtz_simprop_triggers`
-(
- `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `STR_PROP_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- `STR_PROP_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- `STR_PROP_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- `INT_PROP_1` int NULL DEFAULT NULL,
- `INT_PROP_2` int NULL DEFAULT NULL,
- `LONG_PROP_1` bigint NULL DEFAULT NULL,
- `LONG_PROP_2` bigint NULL DEFAULT NULL,
- `DEC_PROP_1` decimal(13, 4) NULL DEFAULT NULL,
- `DEC_PROP_2` decimal(13, 4) NULL DEFAULT NULL,
- `BOOL_PROP_1` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- `BOOL_PROP_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
- CONSTRAINT `TB_QRTZ_SIMPROP_TRIGGERS_IBFK_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `tb_qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_qrtz_triggers
--- ----------------------------
-DROP TABLE IF EXISTS `tb_qrtz_triggers`;
-CREATE TABLE `tb_qrtz_triggers`
-(
- `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- `NEXT_FIRE_TIME` bigint NULL DEFAULT NULL,
- `PREV_FIRE_TIME` bigint NULL DEFAULT NULL,
- `PRIORITY` int NULL DEFAULT NULL,
- `TRIGGER_STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `TRIGGER_TYPE` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
- `START_TIME` bigint NOT NULL,
- `END_TIME` bigint NULL DEFAULT NULL,
- `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
- `MISFIRE_INSTR` smallint NULL DEFAULT NULL,
- `JOB_DATA` blob NULL,
- PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
- INDEX `IDX_QRTZ_T_J`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,
- INDEX `IDX_QRTZ_T_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE,
- INDEX `IDX_QRTZ_T_C`(`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE,
- INDEX `IDX_QRTZ_T_G`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE,
- INDEX `IDX_QRTZ_T_STATE`(`SCHED_NAME`, `TRIGGER_STATE`) USING BTREE,
- INDEX `IDX_QRTZ_T_N_STATE`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE,
- INDEX `IDX_QRTZ_T_N_G_STATE`(`SCHED_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE,
- INDEX `IDX_QRTZ_T_NEXT_FIRE_TIME`(`SCHED_NAME`, `NEXT_FIRE_TIME`) USING BTREE,
- INDEX `IDX_QRTZ_T_NFT_ST`(`SCHED_NAME`, `TRIGGER_STATE`, `NEXT_FIRE_TIME`) USING BTREE,
- INDEX `IDX_QRTZ_T_NFT_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`) USING BTREE,
- INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_STATE`) USING BTREE,
- INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE,
- CONSTRAINT `TB_QRTZ_TRIGGERS_IBFK_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `tb_qrtz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_resource
--- ----------------------------
-DROP TABLE IF EXISTS `tb_resource`;
-CREATE TABLE `tb_resource`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `dept_id` bigint UNSIGNED NOT NULL COMMENT '部门ID',
- `tenant_id` bigint UNSIGNED NOT NULL COMMENT '租户ID',
- `resource_type` int NOT NULL COMMENT '素材类型',
- `resource_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '素材名称',
- `suffix` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '后缀',
- `resource_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '素材地址',
- `origin` int NOT NULL DEFAULT 0 COMMENT '素材来源',
- `status` int NOT NULL DEFAULT 0 COMMENT '数据状态',
- `created` datetime NOT NULL COMMENT '创建时间',
- `created_by` bigint UNSIGNED NOT NULL COMMENT '创建者',
- `modified` datetime NOT NULL COMMENT '修改时间',
- `modified_by` bigint UNSIGNED NOT NULL COMMENT '修改者',
- `options` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '扩展项',
- `file_size` bigint UNSIGNED NULL DEFAULT NULL COMMENT '文件大小',
- `category_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT '分类ID',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '素材库' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_resource_category
--- ----------------------------
-DROP TABLE IF EXISTS `tb_resource_category`;
-CREATE TABLE `tb_resource_category`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `category_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '分类名称',
- `sort_no` int NULL DEFAULT 0 COMMENT '排序',
- `created` datetime NOT NULL COMMENT '创建时间',
- `created_by` bigint UNSIGNED NOT NULL COMMENT '创建者',
- `modified` datetime NOT NULL COMMENT '修改时间',
- `modified_by` bigint UNSIGNED NOT NULL COMMENT '修改者',
- `status` int NOT NULL DEFAULT 0 COMMENT '数据状态',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '素材分类' ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Table structure for tb_sys_account
--- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_account`;
-CREATE TABLE `tb_sys_account`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `dept_id` bigint UNSIGNED NOT NULL COMMENT '部门ID',
- `tenant_id` bigint UNSIGNED NOT NULL COMMENT '租户ID',
- `login_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '登录账号',
- `password` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '密码',
- `password_reset_required` tinyint NOT NULL DEFAULT 0 COMMENT '是否需要重置密码',
- `account_type` tinyint NOT NULL DEFAULT 0 COMMENT '账户类型',
- `nickname` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '昵称',
- `mobile` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '手机电话',
- `email` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '邮件',
- `avatar` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '账户头像',
- `status` int NOT NULL DEFAULT 0 COMMENT '数据状态',
- `created` datetime NOT NULL COMMENT '创建时间',
- `created_by` bigint UNSIGNED NOT NULL COMMENT '创建者',
- `modified` datetime NOT NULL COMMENT '修改时间',
- `modified_by` bigint UNSIGNED NOT NULL COMMENT '修改者',
- `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uni_login_name`(`login_name`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_sys_account_position
--- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_account_position`;
-CREATE TABLE `tb_sys_account_position`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `account_id` bigint UNSIGNED NOT NULL COMMENT '用户ID',
- `position_id` bigint UNSIGNED NOT NULL COMMENT '职位ID',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uni_account_position`(`account_id`, `position_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户-职位表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_sys_account_role
--- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_account_role`;
-CREATE TABLE `tb_sys_account_role`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `account_id` bigint UNSIGNED NOT NULL COMMENT '用户ID',
- `role_id` bigint UNSIGNED NOT NULL COMMENT '角色ID',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uni_account_role`(`account_id`, `role_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户-角色表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_sys_api_key
--- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_api_key`;
-CREATE TABLE `tb_sys_api_key`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT 'id',
- `api_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'apiKey',
- `created` datetime NULL DEFAULT NULL COMMENT '创建时间',
- `status` int NOT NULL DEFAULT 0 COMMENT '数据状态',
- `dept_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT '部门id',
- `tenant_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT '租户id',
- `expired_at` datetime NULL DEFAULT NULL COMMENT '失效时间',
- `created_by` bigint UNSIGNED NULL DEFAULT NULL COMMENT '创建人',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uni_api_key`(`api_key`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'apikey表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_sys_api_key_resource
--- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_api_key_resource`;
-CREATE TABLE `tb_sys_api_key_resource`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT 'id',
- `request_interface` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '请求接口',
- `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '标题',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE KEY `uni_api` (`request_interface`)
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '请求接口表' ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Table structure for tb_sys_api_key_resource_mapping
--- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_api_key_resource_mapping`;
-CREATE TABLE `tb_sys_api_key_resource_mapping`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT 'id',
- `api_key_id` bigint UNSIGNED NOT NULL COMMENT 'api_key_id',
- `api_key_resource_id` bigint UNSIGNED NOT NULL COMMENT '请求接口资源访问id',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uni_api_key_resource`(`api_key_id`, `api_key_resource_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'apikey-请求接口表' ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Table structure for tb_sys_dept
--- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_dept`;
-CREATE TABLE `tb_sys_dept`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `tenant_id` bigint UNSIGNED NOT NULL COMMENT '租户ID',
- `parent_id` bigint UNSIGNED NOT NULL COMMENT '父级ID',
- `ancestors` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '父级部门ID集合',
- `dept_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '部门名称',
- `dept_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '部门编码',
- `sort_no` int NULL DEFAULT 0 COMMENT '排序',
- `status` int NOT NULL DEFAULT 0 COMMENT '数据状态',
- `created` datetime NOT NULL COMMENT '创建时间',
- `created_by` bigint UNSIGNED NOT NULL COMMENT '创建者',
- `modified` datetime NOT NULL COMMENT '修改时间',
- `modified_by` bigint UNSIGNED NOT NULL COMMENT '修改者',
- `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '部门表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_sys_dict
--- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_dict`;
-CREATE TABLE `tb_sys_dict`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '数据字典名称',
- `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '字典编码',
- `description` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '字典描述或备注',
- `dict_type` tinyint NULL DEFAULT NULL COMMENT '字典类型 1 自定义字典、2 数据表字典、 3 枚举类字典、 4 系统字典(自定义 DictLoader)',
- `sort_no` int NULL DEFAULT NULL COMMENT '排序编号',
- `status` int NOT NULL DEFAULT 0 COMMENT '数据状态',
- `options` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '扩展字典 存放 json',
- `created` datetime NULL DEFAULT NULL COMMENT '创建时间',
- `modified` datetime NULL DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `key`(`code`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '系统字典表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_sys_dict_item
--- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_dict_item`;
-CREATE TABLE `tb_sys_dict_item`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `dict_id` bigint UNSIGNED NOT NULL COMMENT '归属哪个字典',
- `text` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '名称或内容',
- `value` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '值',
- `description` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
- `sort_no` int NOT NULL DEFAULT 0 COMMENT '排序',
- `css_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT 'css样式内容',
- `css_class` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'css样式类名',
- `remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
- `status` int NOT NULL DEFAULT 0 COMMENT '数据状态',
- `created` datetime NULL DEFAULT NULL COMMENT '创建时间',
- `modified` datetime NULL DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '数据字典内容' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_sys_job
--- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_job`;
-CREATE TABLE `tb_sys_job`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `dept_id` bigint UNSIGNED NOT NULL COMMENT '部门ID',
- `tenant_id` bigint UNSIGNED NOT NULL COMMENT '租户ID',
- `job_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务名称',
- `job_type` int NOT NULL COMMENT '任务类型',
- `job_params` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '任务参数',
- `cron_expression` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'cron表达式',
- `allow_concurrent` int NOT NULL DEFAULT 0 COMMENT '是否并发执行',
- `misfire_policy` int NOT NULL DEFAULT 3 COMMENT '错过策略',
- `options` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '其他配置',
- `status` int NOT NULL DEFAULT 0 COMMENT '数据状态',
- `created` datetime NOT NULL COMMENT '创建时间',
- `created_by` bigint UNSIGNED NOT NULL COMMENT '创建者',
- `modified` datetime NOT NULL COMMENT '修改时间',
- `modified_by` bigint UNSIGNED NOT NULL COMMENT '修改者',
- `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '系统任务表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_sys_job_log
--- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_job_log`;
-CREATE TABLE `tb_sys_job_log`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `job_id` bigint UNSIGNED NOT NULL COMMENT '任务ID',
- `job_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务名称',
- `job_params` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '任务参数',
- `job_result` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '执行结果',
- `error_info` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '错误信息',
- `status` int NOT NULL DEFAULT 0 COMMENT '数据状态',
- `start_time` datetime NOT NULL COMMENT '开始时间',
- `end_time` datetime NOT NULL COMMENT '结束时间',
- `created` datetime NOT NULL COMMENT '创建时间',
- `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '系统任务日志' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_sys_log
--- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_log`;
-CREATE TABLE `tb_sys_log`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT 'ID',
- `account_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT '操作人',
- `action_name` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '操作名称',
- `action_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '操作的类型',
- `action_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '操作涉及的类',
- `action_method` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '操作涉及的方法',
- `action_url` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '操作涉及的 URL 地址',
- `action_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '操作涉及的用户 IP 地址',
- `action_params` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '操作请求参数',
- `action_body` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '操作请求body',
- `status` int NOT NULL DEFAULT 0 COMMENT '数据状态',
- `created` datetime NULL DEFAULT NULL COMMENT '操作时间',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '操作日志表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_sys_menu
--- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_menu`;
-CREATE TABLE `tb_sys_menu`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `parent_id` bigint UNSIGNED NOT NULL COMMENT '父菜单id',
- `menu_type` int NOT NULL COMMENT '菜单类型',
- `menu_title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '菜单标题',
- `menu_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '菜单url',
- `component` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '组件路径',
- `menu_icon` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '图标/图片地址',
- `is_show` int NOT NULL DEFAULT 1 COMMENT '是否显示',
- `permission_tag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '权限标识',
- `sort_no` int NULL DEFAULT 0 COMMENT '排序',
- `status` int NOT NULL DEFAULT 0 COMMENT '数据状态',
- `created` datetime NOT NULL COMMENT '创建时间',
- `created_by` bigint UNSIGNED NOT NULL COMMENT '创建者',
- `modified` datetime NOT NULL COMMENT '修改时间',
- `modified_by` bigint UNSIGNED NOT NULL COMMENT '修改者',
- `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '菜单表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_sys_option
--- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_option`;
-CREATE TABLE `tb_sys_option`
-(
- `tenant_id` bigint UNSIGNED NOT NULL COMMENT '租户ID',
- `key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '配置KEY',
- `value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '配置内容',
- UNIQUE INDEX `uni_key`(`tenant_id`, `key`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '系统配置信息表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_sys_position
--- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_position`;
-CREATE TABLE `tb_sys_position`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `tenant_id` bigint UNSIGNED NOT NULL COMMENT '租户ID',
- `dept_id` bigint UNSIGNED NOT NULL COMMENT '部门ID',
- `position_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '岗位名称',
- `position_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '岗位编码',
- `sort_no` int NULL DEFAULT 0 COMMENT '排序',
- `status` int NOT NULL DEFAULT 0 COMMENT '数据状态',
- `created` datetime NOT NULL COMMENT '创建时间',
- `created_by` bigint UNSIGNED NOT NULL COMMENT '创建者',
- `modified` datetime NOT NULL COMMENT '修改时间',
- `modified_by` bigint UNSIGNED NOT NULL COMMENT '修改者',
- `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '职位表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_sys_role
--- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_role`;
-CREATE TABLE `tb_sys_role`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `tenant_id` bigint UNSIGNED NOT NULL COMMENT '租户ID',
- `role_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '角色名称',
- `role_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '角色标识',
- `status` int NOT NULL DEFAULT 0 COMMENT '数据状态',
- `created` datetime NOT NULL COMMENT '创建时间',
- `created_by` bigint UNSIGNED NOT NULL COMMENT '创建者',
- `modified` datetime NOT NULL COMMENT '修改时间',
- `modified_by` bigint UNSIGNED NOT NULL COMMENT '修改者',
- `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注',
- `data_scope` int NULL DEFAULT 1 COMMENT '数据权限(EnumDataScope)',
- `menu_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '菜单树选择项是否关联显示',
- `dept_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '部门树选择项是否关联显示',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uni_tenant_role`(`tenant_id`, `role_key`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '系统角色' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_sys_role_dept
--- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_role_dept`;
-CREATE TABLE `tb_sys_role_dept`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `role_id` bigint UNSIGNED NOT NULL COMMENT '角色ID',
- `dept_id` bigint UNSIGNED NOT NULL COMMENT '部门ID',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uni_role_dept`(`role_id`, `dept_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '角色-部门表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_sys_role_menu
--- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_role_menu`;
-CREATE TABLE `tb_sys_role_menu`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `role_id` bigint UNSIGNED NOT NULL COMMENT '角色ID',
- `menu_id` bigint UNSIGNED NOT NULL COMMENT '菜单ID',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uni_role_menu`(`role_id`, `menu_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '角色-菜单表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_workflow
--- ----------------------------
-DROP TABLE IF EXISTS `tb_workflow`;
-CREATE TABLE `tb_workflow`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT 'ID 主键',
- `alias` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '别名',
- `dept_id` bigint UNSIGNED NOT NULL COMMENT '部门ID',
- `tenant_id` bigint UNSIGNED NOT NULL COMMENT '租户ID',
- `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '标题',
- `description` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
- `icon` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'ICON',
- `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '工作流设计的 JSON 内容',
- `created` datetime NULL DEFAULT NULL COMMENT '创建时间',
- `created_by` bigint UNSIGNED NULL DEFAULT NULL COMMENT '创建人',
- `modified` datetime NULL DEFAULT NULL COMMENT '最后修改时间',
- `modified_by` bigint UNSIGNED NULL DEFAULT NULL COMMENT '最后修改的人',
- `english_name` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '英文名称',
- `status` int NOT NULL DEFAULT 0 COMMENT '数据状态',
- `category_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT '分类ID',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `tb_ai_workflow_alias_uindex`(`alias`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '工作流' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_workflow_category
--- ----------------------------
-DROP TABLE IF EXISTS `tb_workflow_category`;
-CREATE TABLE `tb_workflow_category`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `category_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '分类名称',
- `sort_no` int NULL DEFAULT 0 COMMENT '排序',
- `created` datetime NOT NULL COMMENT '创建时间',
- `created_by` bigint UNSIGNED NOT NULL COMMENT '创建者',
- `modified` datetime NOT NULL COMMENT '修改时间',
- `modified_by` bigint UNSIGNED NOT NULL COMMENT '修改者',
- `status` int NOT NULL DEFAULT 0 COMMENT '数据状态',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '工作流分类' ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Table structure for tb_workflow_exec_result
--- ----------------------------
-DROP TABLE IF EXISTS `tb_workflow_exec_result`;
-CREATE TABLE `tb_workflow_exec_result`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `exec_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '执行标识',
- `workflow_id` bigint UNSIGNED NOT NULL COMMENT '工作流ID',
- `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '标题',
- `description` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
- `input` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '输入',
- `output` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '输出',
- `workflow_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '工作流执行时的配置',
- `start_time` datetime(3) NOT NULL COMMENT '开始时间',
- `end_time` datetime(3) NULL DEFAULT NULL COMMENT '结束时间',
- `tokens` bigint UNSIGNED NULL DEFAULT NULL COMMENT '消耗总token',
- `status` int NOT NULL DEFAULT 0 COMMENT '数据状态',
- `created_key` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '执行人标识[有可能是用户|外部|定时任务等情况]',
- `created_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '执行人',
- `error_info` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '错误信息',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uni_exec_key`(`exec_key`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '工作流执行记录' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_workflow_exec_step
--- ----------------------------
-DROP TABLE IF EXISTS `tb_workflow_exec_step`;
-CREATE TABLE `tb_workflow_exec_step`
-(
- `id` bigint UNSIGNED NOT NULL COMMENT '主键',
- `record_id` bigint UNSIGNED NOT NULL COMMENT '执行记录ID',
- `exec_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '执行标识',
- `node_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '节点ID',
- `node_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '节点名称',
- `input` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '输入',
- `output` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '输出',
- `node_data` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '节点信息',
- `start_time` datetime(3) NOT NULL COMMENT '开始时间',
- `end_time` datetime(3) NULL DEFAULT NULL COMMENT '结束时间',
- `tokens` bigint UNSIGNED NULL DEFAULT NULL COMMENT '消耗总token',
- `status` int NOT NULL DEFAULT 0 COMMENT '数据状态',
- `error_info` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '错误信息',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uni_exec`(`exec_key`) USING BTREE,
- INDEX `idx_record_id`(`record_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '执行记录步骤' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Table structure for tb_sys_user_feedback
--- ----------------------------
-DROP TABLE IF EXISTS `tb_sys_user_feedback`;
-CREATE TABLE `tb_sys_user_feedback`
-(
- `id` bigint(0) UNSIGNED NOT NULL COMMENT '主键id',
- `feedback_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '问题摘要',
- `feedback_type` int(0) NOT NULL COMMENT '问题类型(1-功能故障 2-优化建议 3-账号问题 4-其他)',
- `contact_info` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '联系方式【手机号/邮箱】',
- `attachment_url` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '附件url',
- `status` int(0) NULL DEFAULT NULL COMMENT '反馈处理状态(0-未查看 1-已查看 2-已处理)',
- `handler_id` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT '处理人id',
- `handle_time` datetime(0) NULL DEFAULT NULL COMMENT '处理时间',
- `dept_id` bigint(0) UNSIGNED NOT NULL COMMENT '部门ID',
- `tenant_id` bigint(0) UNSIGNED NOT NULL COMMENT '租户ID',
- `created` datetime(0) NOT NULL COMMENT '创建时间',
- `created_by` bigint(0) UNSIGNED NOT NULL COMMENT '创建人',
- `modified` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间',
- `modified_by` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT '最后修改的人',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Table structure for tb_mcp
--- ----------------------------
-DROP TABLE IF EXISTS `tb_mcp`;
-CREATE TABLE `tb_mcp`
-(
- `id` bigint(0) UNSIGNED NOT NULL COMMENT 'id',
- `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '标题',
- `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
- `config_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '完整MCP配置JSON',
- `dept_id` bigint(0) UNSIGNED NOT NULL COMMENT '部门ID',
- `tenant_id` bigint(0) UNSIGNED NOT NULL COMMENT '租户ID',
- `created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
- `created_by` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT '创建者ID',
- `modified` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
- `modified_by` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT '修改者ID',
- `status` tinyint(1) NULL DEFAULT 0 COMMENT '是否启用',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'mcp表' ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Table structure for tb_bot_mcp
--- ----------------------------
-DROP TABLE IF EXISTS `tb_bot_mcp`;
-CREATE TABLE `tb_bot_mcp`
-(
- `id` bigint(0) UNSIGNED NOT NULL COMMENT 'id',
- `bot_id` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT 'botId',
- `mcp_id` bigint(0) UNSIGNED NULL DEFAULT NULL COMMENT 'mcpId',
- `mcp_tool_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'mcp工具名称',
- `mcp_tool_description` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'mcp工具描述',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uni_bot_mcp`(`bot_id`, `mcp_id`, `mcp_tool_name`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-
-SET
-FOREIGN_KEY_CHECKS = 1;
diff --git a/sql/03-easyflow-v2.p1-ha.sql b/sql/03-easyflow-v2.p1-ha.sql
deleted file mode 100644
index 01b86bf..0000000
--- a/sql/03-easyflow-v2.p1-ha.sql
+++ /dev/null
@@ -1,64 +0,0 @@
-SET NAMES utf8mb4;
-SET FOREIGN_KEY_CHECKS = 0;
-
--- P1: 多机部署并发安全增强(唯一约束 + 去重)
--- 注意:本脚本为增量脚本,建议仅执行一次。
-
--- 1) 清理 bot-knowledge 重复绑定
-DELETE t1
-FROM tb_bot_document_collection t1
- INNER JOIN tb_bot_document_collection t2
- ON t1.bot_id <=> t2.bot_id
- AND t1.document_collection_id <=> t2.document_collection_id
- AND t1.id > t2.id;
-
--- 2) 清理 bot-workflow 重复绑定
-DELETE t1
-FROM tb_bot_workflow t1
- INNER JOIN tb_bot_workflow t2
- ON t1.bot_id <=> t2.bot_id
- AND t1.workflow_id <=> t2.workflow_id
- AND t1.id > t2.id;
-
--- 3) 清理 bot-plugin 重复绑定
-DELETE t1
-FROM tb_bot_plugin t1
- INNER JOIN tb_bot_plugin t2
- ON t1.bot_id <=> t2.bot_id
- AND t1.plugin_item_id <=> t2.plugin_item_id
- AND t1.id > t2.id;
-
--- 4) 清理 bot-mcp 重复绑定
-DELETE t1
-FROM tb_bot_mcp t1
- INNER JOIN tb_bot_mcp t2
- ON t1.bot_id <=> t2.bot_id
- AND t1.mcp_id <=> t2.mcp_id
- AND t1.mcp_tool_name <=> t2.mcp_tool_name
- AND t1.id > t2.id;
-
--- 5) 清理最近使用重复记录
-DELETE t1
-FROM tb_bot_recently_used t1
- INNER JOIN tb_bot_recently_used t2
- ON t1.created_by = t2.created_by
- AND t1.bot_id = t2.bot_id
- AND t1.id > t2.id;
-
--- 增加唯一索引(并发写最终一致性兜底)
-ALTER TABLE tb_bot_document_collection
- ADD UNIQUE INDEX uni_bot_document_collection (bot_id, document_collection_id);
-
-ALTER TABLE tb_bot_workflow
- ADD UNIQUE INDEX uni_bot_workflow (bot_id, workflow_id);
-
-ALTER TABLE tb_bot_plugin
- ADD UNIQUE INDEX uni_bot_plugin (bot_id, plugin_item_id);
-
-ALTER TABLE tb_bot_mcp
- ADD UNIQUE INDEX uni_bot_mcp (bot_id, mcp_id, mcp_tool_name);
-
-ALTER TABLE tb_bot_recently_used
- ADD UNIQUE INDEX uni_bot_recently_used (created_by, bot_id);
-
-SET FOREIGN_KEY_CHECKS = 1;
diff --git a/sql/04-easyflow-v2.p1-system-ha.sql b/sql/04-easyflow-v2.p1-system-ha.sql
deleted file mode 100644
index 1dc5fd0..0000000
--- a/sql/04-easyflow-v2.p1-system-ha.sql
+++ /dev/null
@@ -1,88 +0,0 @@
-SET NAMES utf8mb4;
-SET FOREIGN_KEY_CHECKS = 0;
-
--- P1: 非 AI 核心模块并发安全增强(系统模块/数据关系模块)
--- 说明:本脚本为一次性增量执行脚本。
-
--- 1) 关系表去重(按业务复合键保留最小 id)
-DELETE t1
-FROM tb_sys_account_position t1
- INNER JOIN tb_sys_account_position t2
- ON t1.account_id = t2.account_id
- AND t1.position_id = t2.position_id
- AND t1.id > t2.id;
-
-DELETE t1
-FROM tb_sys_account_role t1
- INNER JOIN tb_sys_account_role t2
- ON t1.account_id = t2.account_id
- AND t1.role_id = t2.role_id
- AND t1.id > t2.id;
-
-DELETE t1
-FROM tb_sys_role_menu t1
- INNER JOIN tb_sys_role_menu t2
- ON t1.role_id = t2.role_id
- AND t1.menu_id = t2.menu_id
- AND t1.id > t2.id;
-
-DELETE t1
-FROM tb_sys_role_dept t1
- INNER JOIN tb_sys_role_dept t2
- ON t1.role_id = t2.role_id
- AND t1.dept_id = t2.dept_id
- AND t1.id > t2.id;
-
-DELETE t1
-FROM tb_sys_api_key_resource_mapping t1
- INNER JOIN tb_sys_api_key_resource_mapping t2
- ON t1.api_key_id = t2.api_key_id
- AND t1.api_key_resource_id = t2.api_key_resource_id
- AND t1.id > t2.id;
-
-DELETE t1
-FROM tb_sys_api_key t1
- INNER JOIN tb_sys_api_key t2
- ON t1.api_key = t2.api_key
- AND t1.id > t2.id
-WHERE t1.api_key IS NOT NULL;
-
--- 2) sys_option 去重(无主键表,采用临时表重建)
-DROP TABLE IF EXISTS tb_sys_option_tmp;
-CREATE TABLE tb_sys_option_tmp LIKE tb_sys_option;
-ALTER TABLE tb_sys_option_tmp DROP INDEX uni_key;
-INSERT INTO tb_sys_option_tmp (tenant_id, `key`, `value`)
-SELECT tenant_id, `key`, ANY_VALUE(`value`)
-FROM tb_sys_option
-GROUP BY tenant_id, `key`;
-DELETE
-FROM tb_sys_option;
-INSERT INTO tb_sys_option (tenant_id, `key`, `value`)
-SELECT tenant_id, `key`, `value`
-FROM tb_sys_option_tmp;
-DROP TABLE IF EXISTS tb_sys_option_tmp;
-
--- 3) 增加唯一约束(并发写兜底)
-ALTER TABLE tb_sys_account_position
- ADD UNIQUE INDEX uni_account_position (account_id, position_id);
-
-ALTER TABLE tb_sys_account_role
- ADD UNIQUE INDEX uni_account_role (account_id, role_id);
-
-ALTER TABLE tb_sys_role_menu
- ADD UNIQUE INDEX uni_role_menu (role_id, menu_id);
-
-ALTER TABLE tb_sys_role_dept
- ADD UNIQUE INDEX uni_role_dept (role_id, dept_id);
-
-ALTER TABLE tb_sys_api_key_resource_mapping
- ADD UNIQUE INDEX uni_api_key_resource (api_key_id, api_key_resource_id);
-
-ALTER TABLE tb_sys_api_key
- ADD UNIQUE INDEX uni_api_key (api_key);
-
-ALTER TABLE tb_sys_option
- DROP INDEX uni_key,
- ADD UNIQUE INDEX uni_key (tenant_id, `key`);
-
-SET FOREIGN_KEY_CHECKS = 1;
diff --git a/sql/05-easyflow-v2.p2-account-password-reset.sql b/sql/05-easyflow-v2.p2-account-password-reset.sql
deleted file mode 100644
index 0c1dc1c..0000000
--- a/sql/05-easyflow-v2.p2-account-password-reset.sql
+++ /dev/null
@@ -1,2 +0,0 @@
-ALTER TABLE tb_sys_account
- ADD COLUMN password_reset_required tinyint NOT NULL DEFAULT 0 COMMENT '是否需要重置密码' AFTER password;
diff --git a/sql/05-easyflow-v2.p2-faq.sql b/sql/05-easyflow-v2.p2-faq.sql
deleted file mode 100644
index 697cbc0..0000000
--- a/sql/05-easyflow-v2.p2-faq.sql
+++ /dev/null
@@ -1,38 +0,0 @@
-SET NAMES utf8mb4;
-SET FOREIGN_KEY_CHECKS = 0;
-
--- P2: FAQ知识库增强(新增类型与FAQ条目表)
-
--- 1) document_collection 增加知识库类型
-ALTER TABLE tb_document_collection
- ADD COLUMN collection_type varchar(16) NOT NULL DEFAULT 'DOCUMENT' COMMENT '知识库类型: DOCUMENT/FAQ' AFTER id;
-
--- 2) 回填历史数据
-UPDATE tb_document_collection
-SET collection_type = 'DOCUMENT'
-WHERE collection_type IS NULL OR collection_type = '';
-
--- 3) 增加类型索引
-ALTER TABLE tb_document_collection
- ADD INDEX idx_collection_type (collection_type);
-
--- 4) FAQ条目表
-CREATE TABLE IF NOT EXISTS tb_faq_item
-(
- id bigint UNSIGNED NOT NULL COMMENT '主键',
- collection_id bigint UNSIGNED NOT NULL COMMENT '知识库ID',
- question varchar(1024) NOT NULL COMMENT '问题',
- answer_html longtext NULL COMMENT '答案HTML',
- answer_text longtext NULL COMMENT '答案纯文本',
- order_no int NULL DEFAULT 0 COMMENT '排序',
- options text NULL COMMENT '扩展项',
- created datetime NULL COMMENT '创建时间',
- created_by bigint UNSIGNED NULL COMMENT '创建人',
- modified datetime NULL COMMENT '更新时间',
- modified_by bigint UNSIGNED NULL COMMENT '更新人',
- PRIMARY KEY (id),
- INDEX idx_faq_collection_id (collection_id),
- INDEX idx_faq_collection_order (collection_id, order_no)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT ='FAQ条目';
-
-SET FOREIGN_KEY_CHECKS = 1;
diff --git a/sql/06-easyflow-v2.p3-faq-category.sql b/sql/06-easyflow-v2.p3-faq-category.sql
deleted file mode 100644
index fb296a4..0000000
--- a/sql/06-easyflow-v2.p3-faq-category.sql
+++ /dev/null
@@ -1,62 +0,0 @@
-SET NAMES utf8mb4;
-SET FOREIGN_KEY_CHECKS = 0;
-
--- P3: FAQ分类树增强(最多三级)
-
-CREATE TABLE IF NOT EXISTS tb_faq_category
-(
- id bigint UNSIGNED NOT NULL COMMENT '主键',
- collection_id bigint UNSIGNED NOT NULL COMMENT '知识库ID',
- parent_id bigint UNSIGNED NOT NULL DEFAULT 0 COMMENT '父分类ID,0表示根',
- ancestors varchar(512) NOT NULL DEFAULT '0' COMMENT '祖先路径(逗号分隔)',
- level_no tinyint UNSIGNED NOT NULL DEFAULT 1 COMMENT '层级(1-3)',
- category_name varchar(64) NOT NULL COMMENT '分类名称',
- sort_no int NOT NULL DEFAULT 0 COMMENT '排序',
- is_default tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否默认分类',
- status int NOT NULL DEFAULT 0 COMMENT '数据状态',
- created datetime NULL COMMENT '创建时间',
- created_by bigint UNSIGNED NULL COMMENT '创建人',
- modified datetime NULL COMMENT '更新时间',
- modified_by bigint UNSIGNED NULL COMMENT '更新人',
- PRIMARY KEY (id),
- INDEX idx_faq_category_collection_parent_sort (collection_id, parent_id, sort_no),
- INDEX idx_faq_category_collection_level (collection_id, level_no),
- INDEX idx_faq_category_collection_status (collection_id, status)
-) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT ='FAQ分类';
-
--- 兼容低版本 MySQL:不使用 ADD COLUMN / ADD INDEX IF NOT EXISTS
-SET @faq_item_category_col_exists := (
- SELECT COUNT(1)
- FROM information_schema.COLUMNS
- WHERE TABLE_SCHEMA = DATABASE()
- AND TABLE_NAME = 'tb_faq_item'
- AND COLUMN_NAME = 'category_id'
-);
-
-SET @faq_item_add_category_col_sql := IF(
- @faq_item_category_col_exists = 0,
- 'ALTER TABLE tb_faq_item ADD COLUMN category_id bigint UNSIGNED NULL DEFAULT NULL COMMENT ''FAQ分类ID'' AFTER collection_id',
- 'DO 0'
- );
-PREPARE stmt_add_faq_item_category_col FROM @faq_item_add_category_col_sql;
-EXECUTE stmt_add_faq_item_category_col;
-DEALLOCATE PREPARE stmt_add_faq_item_category_col;
-
-SET @faq_item_category_idx_exists := (
- SELECT COUNT(1)
- FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = DATABASE()
- AND TABLE_NAME = 'tb_faq_item'
- AND INDEX_NAME = 'idx_faq_collection_category_order'
-);
-
-SET @faq_item_add_category_idx_sql := IF(
- @faq_item_category_idx_exists = 0,
- 'ALTER TABLE tb_faq_item ADD INDEX idx_faq_collection_category_order (collection_id, category_id, order_no)',
- 'DO 0'
- );
-PREPARE stmt_add_faq_item_category_idx FROM @faq_item_add_category_idx_sql;
-EXECUTE stmt_add_faq_item_category_idx;
-DEALLOCATE PREPARE stmt_add_faq_item_category_idx;
-
-SET FOREIGN_KEY_CHECKS = 1;
diff --git a/sql/07-easyflow-v2.p4-model-provider-refresh.sql b/sql/07-easyflow-v2.p4-model-provider-refresh.sql
deleted file mode 100644
index 13fc921..0000000
--- a/sql/07-easyflow-v2.p4-model-provider-refresh.sql
+++ /dev/null
@@ -1,81 +0,0 @@
--- 模型服务商集合刷新脚本
--- 用途:
--- 1. 清理已下线的旧服务商及其关联模型(星火、火山、千帆、Gitee)
--- 2. 对保留服务商做默认路径对齐
--- 3. 补齐新的服务商预设(智谱、MiniMax、Kimi、自部署)
-
-START TRANSACTION;
-
-DELETE m
-FROM tb_model AS m
-INNER JOIN tb_model_provider AS p ON p.id = m.provider_id
-WHERE p.provider_type IN ('gitee', 'baidu', 'volcengine', 'spark');
-
-DELETE FROM tb_model_provider
-WHERE provider_type IN ('gitee', 'baidu', 'volcengine', 'spark');
-
-UPDATE tb_model_provider
-SET provider_name = 'DeepSeek',
- endpoint = 'https://api.deepseek.com',
- chat_path = '/chat/completions',
- embed_path = '',
- rerank_path = ''
-WHERE provider_type = 'deepseek';
-
-UPDATE tb_model_provider
-SET provider_name = 'OpenAI',
- endpoint = 'https://api.openai.com',
- chat_path = '/v1/chat/completions',
- embed_path = '/v1/embeddings',
- rerank_path = ''
-WHERE provider_type = 'openai';
-
-UPDATE tb_model_provider
-SET provider_name = '阿里百炼',
- endpoint = 'https://dashscope.aliyuncs.com',
- chat_path = '/compatible-mode/v1/chat/completions',
- embed_path = '/compatible-mode/v1/embeddings',
- rerank_path = '/api/v1/services/rerank/text-rerank/text-rerank'
-WHERE provider_type = 'aliyun';
-
-UPDATE tb_model_provider
-SET provider_name = '硅基流动',
- endpoint = 'https://api.siliconflow.cn',
- chat_path = '/v1/chat/completions',
- embed_path = '/v1/embeddings',
- rerank_path = '/v1/rerank'
-WHERE provider_type = 'siliconlow';
-
-UPDATE tb_model_provider
-SET provider_name = 'Ollama',
- endpoint = 'http://127.0.0.1:11434',
- chat_path = '/v1/chat/completions',
- embed_path = '/api/embed',
- rerank_path = ''
-WHERE provider_type = 'ollama';
-
-INSERT INTO tb_model_provider (`id`, `provider_name`, `provider_type`, `icon`, `api_key`, `endpoint`, `chat_path`, `embed_path`, `rerank_path`, `created`, `created_by`, `modified`, `modified_by`)
-SELECT 366100000000000001, '智谱', 'zhipu', '', '', 'https://open.bigmodel.cn', '/api/paas/v4/chat/completions', '/api/paas/v4/embeddings', '', NOW(), 1, NOW(), 1
-WHERE NOT EXISTS (
- SELECT 1 FROM tb_model_provider WHERE provider_type = 'zhipu'
-);
-
-INSERT INTO tb_model_provider (`id`, `provider_name`, `provider_type`, `icon`, `api_key`, `endpoint`, `chat_path`, `embed_path`, `rerank_path`, `created`, `created_by`, `modified`, `modified_by`)
-SELECT 366100000000000002, 'MiniMax', 'minimax', '', '', 'https://api.minimax.io', '/v1/chat/completions', '', '', NOW(), 1, NOW(), 1
-WHERE NOT EXISTS (
- SELECT 1 FROM tb_model_provider WHERE provider_type = 'minimax'
-);
-
-INSERT INTO tb_model_provider (`id`, `provider_name`, `provider_type`, `icon`, `api_key`, `endpoint`, `chat_path`, `embed_path`, `rerank_path`, `created`, `created_by`, `modified`, `modified_by`)
-SELECT 366100000000000003, 'Kimi', 'kimi', '', '', 'https://api.moonshot.cn', '/v1/chat/completions', '', '', NOW(), 1, NOW(), 1
-WHERE NOT EXISTS (
- SELECT 1 FROM tb_model_provider WHERE provider_type = 'kimi'
-);
-
-INSERT INTO tb_model_provider (`id`, `provider_name`, `provider_type`, `icon`, `api_key`, `endpoint`, `chat_path`, `embed_path`, `rerank_path`, `created`, `created_by`, `modified`, `modified_by`)
-SELECT 366100000000000004, '自部署', 'self-hosted', '', '', 'http://127.0.0.1:8000', '/v1/chat/completions', '/v1/embeddings', '/v1/score', NOW(), 1, NOW(), 1
-WHERE NOT EXISTS (
- SELECT 1 FROM tb_model_provider WHERE provider_type = 'self-hosted'
-);
-
-COMMIT;
diff --git a/sql/initdb/00-quartz.sql b/sql/initdb/00-quartz.sql
deleted file mode 100644
index 5f95b30..0000000
--- a/sql/initdb/00-quartz.sql
+++ /dev/null
@@ -1,173 +0,0 @@
-SET FOREIGN_KEY_CHECKS = 0;
-
-DROP TABLE IF EXISTS TB_QRTZ_FIRED_TRIGGERS;
-DROP TABLE IF EXISTS TB_QRTZ_PAUSED_TRIGGER_GRPS;
-DROP TABLE IF EXISTS TB_QRTZ_SCHEDULER_STATE;
-DROP TABLE IF EXISTS TB_QRTZ_LOCKS;
-DROP TABLE IF EXISTS TB_QRTZ_SIMPLE_TRIGGERS;
-DROP TABLE IF EXISTS TB_QRTZ_SIMPROP_TRIGGERS;
-DROP TABLE IF EXISTS TB_QRTZ_CRON_TRIGGERS;
-DROP TABLE IF EXISTS TB_QRTZ_BLOB_TRIGGERS;
-DROP TABLE IF EXISTS TB_QRTZ_TRIGGERS;
-DROP TABLE IF EXISTS TB_QRTZ_JOB_DETAILS;
-DROP TABLE IF EXISTS TB_QRTZ_CALENDARS;
-
-CREATE TABLE TB_QRTZ_JOB_DETAILS(
-SCHED_NAME VARCHAR(120) NOT NULL,
-JOB_NAME VARCHAR(190) NOT NULL,
-JOB_GROUP VARCHAR(190) NOT NULL,
-DESCRIPTION VARCHAR(250) NULL,
-JOB_CLASS_NAME VARCHAR(250) NOT NULL,
-IS_DURABLE VARCHAR(1) NOT NULL,
-IS_NONCONCURRENT VARCHAR(1) NOT NULL,
-IS_UPDATE_DATA VARCHAR(1) NOT NULL,
-REQUESTS_RECOVERY VARCHAR(1) NOT NULL,
-JOB_DATA BLOB NULL,
-PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP))
-ENGINE=InnoDB;
-
-CREATE TABLE TB_QRTZ_TRIGGERS (
-SCHED_NAME VARCHAR(120) NOT NULL,
-TRIGGER_NAME VARCHAR(190) NOT NULL,
-TRIGGER_GROUP VARCHAR(190) NOT NULL,
-JOB_NAME VARCHAR(190) NOT NULL,
-JOB_GROUP VARCHAR(190) NOT NULL,
-DESCRIPTION VARCHAR(250) NULL,
-NEXT_FIRE_TIME BIGINT(13) NULL,
-PREV_FIRE_TIME BIGINT(13) NULL,
-PRIORITY INTEGER NULL,
-TRIGGER_STATE VARCHAR(16) NOT NULL,
-TRIGGER_TYPE VARCHAR(8) NOT NULL,
-START_TIME BIGINT(13) NOT NULL,
-END_TIME BIGINT(13) NULL,
-CALENDAR_NAME VARCHAR(190) NULL,
-MISFIRE_INSTR SMALLINT(2) NULL,
-JOB_DATA BLOB NULL,
-PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
-CONSTRAINT FK_TB_QRTZ_TRIGGERS_JOB_DETAILS FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
-REFERENCES TB_QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP))
-ENGINE=InnoDB;
-
-CREATE TABLE TB_QRTZ_SIMPLE_TRIGGERS (
-SCHED_NAME VARCHAR(120) NOT NULL,
-TRIGGER_NAME VARCHAR(190) NOT NULL,
-TRIGGER_GROUP VARCHAR(190) NOT NULL,
-REPEAT_COUNT BIGINT(7) NOT NULL,
-REPEAT_INTERVAL BIGINT(12) NOT NULL,
-TIMES_TRIGGERED BIGINT(10) NOT NULL,
-PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
-CONSTRAINT FK_TB_QRTZ_SIMPLE_TRIGGERS_TRIGGERS FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
-REFERENCES TB_QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
-ENGINE=InnoDB;
-
-CREATE TABLE TB_QRTZ_CRON_TRIGGERS (
-SCHED_NAME VARCHAR(120) NOT NULL,
-TRIGGER_NAME VARCHAR(190) NOT NULL,
-TRIGGER_GROUP VARCHAR(190) NOT NULL,
-CRON_EXPRESSION VARCHAR(120) NOT NULL,
-TIME_ZONE_ID VARCHAR(80),
-PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
-CONSTRAINT FK_TB_QRTZ_CRON_TRIGGERS_TRIGGERS FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
-REFERENCES TB_QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
-ENGINE=InnoDB;
-
-CREATE TABLE TB_QRTZ_SIMPROP_TRIGGERS
- (
- SCHED_NAME VARCHAR(120) NOT NULL,
- TRIGGER_NAME VARCHAR(190) NOT NULL,
- TRIGGER_GROUP VARCHAR(190) NOT NULL,
- STR_PROP_1 VARCHAR(512) NULL,
- STR_PROP_2 VARCHAR(512) NULL,
- STR_PROP_3 VARCHAR(512) NULL,
- INT_PROP_1 INT NULL,
- INT_PROP_2 INT NULL,
- LONG_PROP_1 BIGINT NULL,
- LONG_PROP_2 BIGINT NULL,
- DEC_PROP_1 NUMERIC(13,4) NULL,
- DEC_PROP_2 NUMERIC(13,4) NULL,
- BOOL_PROP_1 VARCHAR(1) NULL,
- BOOL_PROP_2 VARCHAR(1) NULL,
- PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
- CONSTRAINT FK_TB_QRTZ_SIMPROP_TRIGGERS_TRIGGERS FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
- REFERENCES TB_QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
-ENGINE=InnoDB;
-
-CREATE TABLE TB_QRTZ_BLOB_TRIGGERS (
-SCHED_NAME VARCHAR(120) NOT NULL,
-TRIGGER_NAME VARCHAR(190) NOT NULL,
-TRIGGER_GROUP VARCHAR(190) NOT NULL,
-BLOB_DATA BLOB NULL,
-PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
-INDEX (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP),
-CONSTRAINT FK_TB_QRTZ_BLOB_TRIGGERS_TRIGGERS FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
-REFERENCES TB_QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
-ENGINE=InnoDB;
-
-CREATE TABLE TB_QRTZ_CALENDARS (
-SCHED_NAME VARCHAR(120) NOT NULL,
-CALENDAR_NAME VARCHAR(190) NOT NULL,
-CALENDAR BLOB NOT NULL,
-PRIMARY KEY (SCHED_NAME,CALENDAR_NAME))
-ENGINE=InnoDB;
-
-CREATE TABLE TB_QRTZ_PAUSED_TRIGGER_GRPS (
-SCHED_NAME VARCHAR(120) NOT NULL,
-TRIGGER_GROUP VARCHAR(190) NOT NULL,
-PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP))
-ENGINE=InnoDB;
-
-CREATE TABLE TB_QRTZ_FIRED_TRIGGERS (
-SCHED_NAME VARCHAR(120) NOT NULL,
-ENTRY_ID VARCHAR(95) NOT NULL,
-TRIGGER_NAME VARCHAR(190) NOT NULL,
-TRIGGER_GROUP VARCHAR(190) NOT NULL,
-INSTANCE_NAME VARCHAR(190) NOT NULL,
-FIRED_TIME BIGINT(13) NOT NULL,
-SCHED_TIME BIGINT(13) NOT NULL,
-PRIORITY INTEGER NOT NULL,
-STATE VARCHAR(16) NOT NULL,
-JOB_NAME VARCHAR(190) NULL,
-JOB_GROUP VARCHAR(190) NULL,
-IS_NONCONCURRENT VARCHAR(1) NULL,
-REQUESTS_RECOVERY VARCHAR(1) NULL,
-PRIMARY KEY (SCHED_NAME,ENTRY_ID))
-ENGINE=InnoDB;
-
-CREATE TABLE TB_QRTZ_SCHEDULER_STATE (
-SCHED_NAME VARCHAR(120) NOT NULL,
-INSTANCE_NAME VARCHAR(190) NOT NULL,
-LAST_CHECKIN_TIME BIGINT(13) NOT NULL,
-CHECKIN_INTERVAL BIGINT(13) NOT NULL,
-PRIMARY KEY (SCHED_NAME,INSTANCE_NAME))
-ENGINE=InnoDB;
-
-CREATE TABLE TB_QRTZ_LOCKS (
-SCHED_NAME VARCHAR(120) NOT NULL,
-LOCK_NAME VARCHAR(40) NOT NULL,
-PRIMARY KEY (SCHED_NAME,LOCK_NAME))
-ENGINE=InnoDB;
-
-CREATE INDEX IDX_TB_QRTZ_J_REQ_RECOVERY ON TB_QRTZ_JOB_DETAILS(SCHED_NAME,REQUESTS_RECOVERY);
-CREATE INDEX IDX_TB_QRTZ_J_GRP ON TB_QRTZ_JOB_DETAILS(SCHED_NAME,JOB_GROUP);
-
-CREATE INDEX IDX_TB_QRTZ_T_J ON TB_QRTZ_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP);
-CREATE INDEX IDX_TB_QRTZ_T_JG ON TB_QRTZ_TRIGGERS(SCHED_NAME,JOB_GROUP);
-CREATE INDEX IDX_TB_QRTZ_T_C ON TB_QRTZ_TRIGGERS(SCHED_NAME,CALENDAR_NAME);
-CREATE INDEX IDX_TB_QRTZ_T_G ON TB_QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP);
-CREATE INDEX IDX_TB_QRTZ_T_STATE ON TB_QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE);
-CREATE INDEX IDX_TB_QRTZ_T_N_STATE ON TB_QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE);
-CREATE INDEX IDX_TB_QRTZ_T_N_G_STATE ON TB_QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE);
-CREATE INDEX IDX_TB_QRTZ_T_NEXT_FIRE_TIME ON TB_QRTZ_TRIGGERS(SCHED_NAME,NEXT_FIRE_TIME);
-CREATE INDEX IDX_TB_QRTZ_T_NFT_ST ON TB_QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME);
-CREATE INDEX IDX_TB_QRTZ_T_NFT_MISFIRE ON TB_QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME);
-CREATE INDEX IDX_TB_QRTZ_T_NFT_ST_MISFIRE ON TB_QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE);
-CREATE INDEX IDX_TB_QRTZ_T_NFT_ST_MISFIRE_GRP ON TB_QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE);
-
-CREATE INDEX IDX_TB_QRTZ_FT_TRIG_INST_NAME ON TB_QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME);
-CREATE INDEX IDX_TB_QRTZ_FT_INST_JOB_REQ_RCVRY ON TB_QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY);
-CREATE INDEX IDX_TB_QRTZ_FT_J_G ON TB_QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP);
-CREATE INDEX IDX_TB_QRTZ_FT_JG ON TB_QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_GROUP);
-CREATE INDEX IDX_TB_QRTZ_FT_T_G ON TB_QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP);
-CREATE INDEX IDX_TB_QRTZ_FT_TG ON TB_QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_GROUP);
-
-SET FOREIGN_KEY_CHECKS = 1;
diff --git a/sql/initdb/02-easyflow-v2.data.sql b/sql/initdb/02-easyflow-v2.data.sql
deleted file mode 100644
index f1f89b5..0000000
--- a/sql/initdb/02-easyflow-v2.data.sql
+++ /dev/null
@@ -1,242 +0,0 @@
-SET NAMES utf8mb4;
-
--- ----------------------------
--- Records of tb_sys_account
--- ----------------------------
-INSERT INTO `tb_sys_account` (`id`, `dept_id`, `tenant_id`, `login_name`, `password`, `password_reset_required`, `account_type`, `nickname`, `mobile`, `email`, `avatar`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (1, 1, 1000000, 'admin', '$2a$10$mni2UdHMUwomVzvZtdECAOwYJevZ2z48ApO.JSVhyEaQ/AOKr4VP2', 0, 99, '超级管理员', '15555555555', 'bbb@qq.com', 'https://static.agentscenter.cn/public/1/2025/12/17/684ea528-8e42-489c-b254-4e52e0679431/b.jpeg', 1, '2025-06-06 11:32:21', 1, '2025-12-17 17:51:16', 1, '');
-
--- ----------------------------
--- Records of tb_sys_account_role
--- ----------------------------
-INSERT INTO `tb_sys_account_role` (`id`, `account_id`, `role_id`) VALUES (302654483522224128, 1, 1);
-
--- ----------------------------
--- Records of tb_sys_dept
--- ----------------------------
-INSERT INTO `tb_sys_dept` (`id`, `tenant_id`, `parent_id`, `ancestors`, `dept_name`, `dept_code`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (1, 1000000, 0, '0', '总公司', 'root_dept', 0, 1, '2025-03-17 09:09:57', 1, '2025-03-17 09:10:00', 1, '');
-
--- ----------------------------
--- Records of tb_sys_menu
--- ----------------------------
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (183724390000000001, 258052082618335232, 0, 'menus.system.sysPosition', '/sys/sysPosition', '/system/sysPosition/SysPositionList', 'svg:position', 1, '', 300, 1, '2026-01-05 09:07:06', 0, '2026-01-05 09:12:37', 1, '岗位管理菜单');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (183724390000000002, 183724390000000001, 1, '查询', '', '', '', 0, '/api/v1/sysPosition/query', 100, 1, '2026-01-05 09:07:06', 0, '2026-01-05 09:07:06', 0, '岗位管理-查询');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (183724390000000003, 183724390000000001, 1, '保存', '', '', '', 0, '/api/v1/sysPosition/save', 101, 1, '2026-01-05 09:07:06', 0, '2026-01-05 09:07:06', 0, '岗位管理-保存');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (183724390000000004, 183724390000000001, 1, '删除', '', '', '', 0, '/api/v1/sysPosition/remove', 102, 1, '2026-01-05 09:07:06', 0, '2026-01-05 09:07:06', 0, '岗位管理-删除');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (258052082618335232, 0, 0, 'menus.system.title', '/sys', '', 'ant-design:appstore-outlined', 1, '', 200, 0, '2025-03-14 15:07:51', 1, '2025-12-02 13:39:37', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (258052774330368000, 258052082618335232, 0, 'menus.system.sysAccount', '/sys/sysAccount', '/system/sysAccount/SysAccountList', 'svg:account', 1, '', 100, 0, '2025-03-14 15:10:36', 1, '2025-12-25 16:49:03', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (258075705244676096, 258052082618335232, 0, 'menus.system.sysRole', '/sys/sysRole', '/system/sysRole/SysRoleList', 'svg:role', 1, '', 400, 0, '2025-03-14 16:41:43', 1, '2025-12-25 16:49:10', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (258075850434703360, 258052082618335232, 0, 'menus.system.sysMenu', '/sys/sysMenu', '/system/sysMenu/SysMenuList', 'svg:menu', 1, '', 500, 0, '2025-03-14 16:42:18', 1, '2025-12-25 16:49:23', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (259048038847483904, 258052082618335232, 0, 'menus.system.sysDept', '/sys/sysDept', '/system/sysDept/SysDeptList', 'svg:department', 1, '', 200, 0, '2025-03-17 09:05:25', 1, '2025-12-25 16:49:41', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (259168916721754112, 258052082618335232, 0, 'menus.settings.settingsConfig', '/sys/settings', '/config/settings/Settings', 'svg:setting', 1, '', 1000, 0, '2025-03-17 17:05:45', 1, '2025-12-26 11:17:36', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (259169318720626688, 258052082618335232, 0, 'menus.system.sysLog', '/sys/logs', '/system/sysLog/SysLogList', 'svg:log', 1, '', 600, 0, '2025-03-17 17:07:21', 1, '2025-12-25 16:49:59', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (259169837824466944, 259169540360232960, 0, 'menus.ai.bots', '/ai/bots', '/ai/bots/index', 'svg:talk', 1, '', 11, 0, '2025-03-17 17:09:24', 1, '2026-01-06 10:46:41', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (259169982154661888, 0, 0, 'menus.ai.plugin', '/ai/plugin', '/ai/plugin/Plugin', 'svg:plugin', 1, '', 21, 0, '2025-03-17 17:09:59', 1, '2025-12-26 11:14:29', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (259170117110587392, 0, 0, 'menus.ai.workflow', '/ai/workflow', '/ai/workflow/WorkflowList', 'svg:workflow', 1, '', 31, 0, '2025-03-17 17:10:31', 1, '2025-12-26 11:35:41', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (259170422338478080, 0, 0, 'menus.ai.documentCollection', '/ai/documentCollection', '/ai/documentCollection/DocumentCollection', 'svg:knowledge', 1, '', 51, 0, '2025-03-17 17:11:44', 1, '2025-12-26 11:14:42', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (259170538264846336, 0, 0, 'menus.ai.model', '/ai/model', '/ai/model/Model', 'svg:llm', 1, '', 61, 0, '2025-03-17 17:12:11', 1, '2025-12-26 11:15:16', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (270761213536096256, 258052082618335232, 0, 'menus.settings.apiKey', '/sys/sysApiKey', '/config/apikey/SysApiKey', 'svg:api', 1, '', 800, 0, '2025-04-18 16:49:24', 1, '2025-12-26 11:17:49', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (282254669269082112, 258052082618335232, 0, 'menus.system.sysJob', '/sys/sysJob', '/system/sysJob/SysJobList', 'svg:time', 1, '', 700, 0, '2025-05-20 10:00:17', 1, '2025-12-25 16:49:50', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243919118950400, 258052774330368000, 1, '查询', '', '', '', 0, '/api/v1/sysAccount/query', 1, 0, '2025-07-03 12:55:51', 1, '2025-07-03 12:55:51', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243919727124480, 258052774330368000, 1, '保存', '', '', '', 0, '/api/v1/sysAccount/save', 1, 0, '2025-07-03 12:55:51', 1, '2025-07-03 12:55:51', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243920205275136, 258052774330368000, 1, '删除', '', '', '', 0, '/api/v1/sysAccount/remove', 1, 0, '2025-07-03 12:55:51', 1, '2025-07-03 12:55:51', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243920679231488, 258075705244676096, 1, '查询', '', '', '', 0, '/api/v1/sysRole/query', 1, 0, '2025-07-03 12:55:52', 1, '2025-07-03 12:55:52', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243921161576448, 258075705244676096, 1, '保存', '', '', '', 0, '/api/v1/sysRole/save', 1, 0, '2025-07-03 12:55:52', 1, '2025-07-03 12:55:52', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243921639727104, 258075705244676096, 1, '删除', '', '', '', 0, '/api/v1/sysRole/remove', 1, 0, '2025-07-03 12:55:52', 1, '2025-07-03 12:55:52', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243922155626496, 258075850434703360, 1, '查询', '', '', '', 0, '/api/v1/sysMenu/query', 1, 0, '2025-07-03 12:55:52', 1, '2025-07-03 12:55:52', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243922637971456, 258075850434703360, 1, '保存', '', '', '', 0, '/api/v1/sysMenu/save', 1, 0, '2025-07-03 12:55:52', 1, '2025-07-03 12:55:52', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243923116122112, 258075850434703360, 1, '删除', '', '', '', 0, '/api/v1/sysMenu/remove', 1, 0, '2025-07-03 12:55:52', 1, '2025-07-03 12:55:52', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243923627827200, 259048038847483904, 1, '查询', '', '', '', 0, '/api/v1/sysDept/query', 1, 0, '2025-07-03 12:55:52', 1, '2025-07-03 12:55:52', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243924105977856, 259048038847483904, 1, '保存', '', '', '', 0, '/api/v1/sysDept/save', 1, 0, '2025-07-03 12:55:52', 1, '2025-07-03 12:55:52', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243924571545600, 259048038847483904, 1, '删除', '', '', '', 0, '/api/v1/sysDept/remove', 1, 0, '2025-07-03 12:55:52', 1, '2025-07-03 12:55:52', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243926450593792, 259168916721754112, 1, '查询', '', '', '', 0, '/api/v1/sysOption/query', 1, 0, '2025-07-03 12:55:53', 1, '2025-07-03 12:55:53', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243926920355840, 259168916721754112, 1, '保存', '', '', '', 0, '/api/v1/sysOption/save', 1, 0, '2025-07-03 12:55:53', 1, '2025-07-03 12:55:53', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243927385923584, 259168916721754112, 1, '删除', '', '', '', 0, '/api/v1/sysOption/remove', 1, 0, '2025-07-03 12:55:53', 1, '2025-07-03 12:55:53', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243929294331904, 259169318720626688, 1, '查询', '', '', '', 0, '/api/v1/sysLog/query', 1, 0, '2025-07-03 12:55:54', 1, '2025-07-03 12:55:54', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243929755705344, 259169318720626688, 1, '保存', '', '', '', 0, '/api/v1/sysLog/save', 1, 0, '2025-07-03 12:55:54', 1, '2025-07-03 12:55:54', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243930225467392, 259169318720626688, 1, '删除', '', '', '', 0, '/api/v1/sysLog/remove', 1, 0, '2025-07-03 12:55:54', 1, '2025-07-03 12:55:54', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243932104515584, 259169837824466944, 1, '查询', '', '', '', 0, '/api/v1/bot/query', 1, 0, '2025-07-03 12:55:55', 1, '2025-11-20 16:10:04', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243932607832064, 259169837824466944, 1, '保存', '', '', '', 0, '/api/v1/bot/save', 1, 0, '2025-07-03 12:55:55', 1, '2025-07-03 12:55:55', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243933077594112, 259169837824466944, 1, '删除', '', '', '', 0, '/api/v1/bot/remove', 1, 0, '2025-07-03 12:55:55', 1, '2025-07-03 12:55:55', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243933547356160, 259169982154661888, 1, '查询', '', '', '', 0, '/api/v1/plugin/query', 1, 0, '2025-07-03 12:55:55', 1, '2025-07-03 12:55:55', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243934025506816, 259169982154661888, 1, '保存', '', '', '', 0, '/api/v1/plugin/save', 1, 0, '2025-07-03 12:55:55', 1, '2025-07-03 12:55:55', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243934495268864, 259169982154661888, 1, '删除', '', '', '', 0, '/api/v1/plugin/remove', 1, 0, '2025-07-03 12:55:55', 1, '2025-07-03 12:55:55', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243934960836608, 259170117110587392, 1, '查询', '', '', '', 0, '/api/v1/workflow/query', 1, 0, '2025-07-03 12:55:55', 1, '2025-07-03 12:55:55', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243935430598656, 259170117110587392, 1, '保存', '', '', '', 0, '/api/v1/workflow/save', 1, 0, '2025-07-03 12:55:55', 1, '2025-07-03 12:55:55', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243935904555008, 259170117110587392, 1, '删除', '', '', '', 0, '/api/v1/workflow/remove', 1, 0, '2025-07-03 12:55:55', 1, '2025-07-03 12:55:55', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243936374317056, 259170422338478080, 1, '查询', '', '', '', 0, '/api/v1/documentCollection/query', 1, 0, '2025-07-03 12:55:56', 1, '2025-07-03 12:55:56', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243936848273408, 259170422338478080, 1, '保存', '', '', '', 0, '/api/v1/documentCollection/save', 1, 0, '2025-07-03 12:55:56', 1, '2025-07-03 12:55:56', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243937313841152, 259170422338478080, 1, '删除', '', '', '', 0, '/api/v1/documentCollection/remove', 1, 0, '2025-07-03 12:55:56', 1, '2025-07-03 12:55:56', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243937783603200, 259170538264846336, 1, '查询', '', '', '', 0, '/api/v1/model/query', 1, 0, '2025-07-03 12:55:56', 1, '2025-07-03 12:55:56', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243938240782336, 259170538264846336, 1, '保存', '', '', '', 0, '/api/v1/model/save', 1, 0, '2025-07-03 12:55:56', 1, '2025-07-03 12:55:56', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243938706350080, 259170538264846336, 1, '删除', '', '', '', 0, '/api/v1/model/remove', 1, 0, '2025-07-03 12:55:56', 1, '2025-07-03 12:55:56', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243939180306432, 270761213536096256, 1, '查询', '', '', '', 0, '/api/v1/sysApiKey/query', 1, 0, '2025-07-03 12:55:56', 1, '2025-07-03 12:55:56', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243939650068480, 270761213536096256, 1, '保存', '', '', '', 0, '/api/v1/sysApiKey/save', 1, 0, '2025-07-03 12:55:56', 1, '2025-07-03 12:55:56', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243940115636224, 270761213536096256, 1, '删除', '', '', '', 0, '/api/v1/sysApiKey/remove', 1, 0, '2025-07-03 12:55:56', 1, '2025-07-03 12:55:56', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243940614758400, 282254669269082112, 1, '查询', '', '', '', 0, '/api/v1/sysJob/query', 1, 0, '2025-07-03 12:55:57', 1, '2025-07-03 12:55:57', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243941080326144, 282254669269082112, 1, '保存', '', '', '', 0, '/api/v1/sysJob/save', 1, 0, '2025-07-03 12:55:57', 1, '2025-07-03 12:55:57', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (298243941545893888, 282254669269082112, 1, '删除', '', '', '', 0, '/api/v1/sysJob/remove', 1, 0, '2025-07-03 12:55:57', 1, '2025-07-03 12:55:57', 1, 'gen');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (300008008381800448, 0, 0, 'menus.ai.resources', '/ai/resource', '/ai/resource/ResourceList', 'svg:resource', 1, '', 52, 0, '2025-07-08 09:45:43', 1, '2025-12-26 11:37:42', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (300008359986110464, 300008008381800448, 1, '查询', '', '', '', 0, '/api/v1/resource/query', 0, 0, '2025-07-08 09:47:07', 1, '2025-07-08 09:47:07', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (300012644643815424, 300008008381800448, 1, '保存', '', '', '', 0, '/api/v1/resource/save', 0, 0, '2025-07-08 10:04:08', 1, '2025-07-08 10:04:08', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (300013092268326912, 300008008381800448, 1, '删除', '', '', '', 1, '/api/v1/resource/remove', 0, 0, '2025-07-08 10:05:55', 1, '2025-07-08 10:05:55', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (300817858217091072, 0, 0, 'menus.ai.datacenter', '/datacenter/table', '/datacenter/DatacenterTableList', 'svg:data-center', 1, '', 53, 0, '2025-07-10 15:23:46', 1, '2025-12-26 11:15:08', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (300818298270883840, 300817858217091072, 1, '查询', '', '', '', 1, '/api/v1/datacenterTable/query', 0, 0, '2025-07-10 15:25:31', 1, '2025-07-10 15:25:31', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (300818387710222336, 300817858217091072, 1, '保存', '', '', '', 1, '/api/v1/datacenterTable/save', 0, 0, '2025-07-10 15:25:53', 1, '2025-07-10 15:25:53', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (300818488214134784, 300817858217091072, 1, '删除', '', '', '', 1, '/api/v1/datacenterTable/remove', 0, 0, '2025-07-10 15:26:17', 1, '2025-07-10 15:26:17', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (363168956276838400, 258052082618335232, 0, 'menus.system.sysFeedback', '/sys/sysFeedback', '/system/sysFeedback/sysFeedbackList', 'svg:user-feedback', 1, '', 900, 0, '2025-12-29 16:44:47', 1, '2025-12-29 16:45:39', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (363435797225017344, 363168956276838400, 1, '删除', '', '', '', 0, '/api/v1/sysUserFeedback/remove', 3, 0, '2025-12-30 10:25:06', 1, '2025-12-30 10:26:15', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (363435949415337984, 363168956276838400, 1, '保存', '', '', '', 0, '/api/v1/sysUserFeedback/save', 2, 0, '2025-12-30 10:25:43', 1, '2025-12-30 10:26:10', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (363533849449447424, 363168956276838400, 1, '查询', '', '', '', 0, '/api/v1/sysUserFeedback/query', 1, 0, '2025-12-30 16:54:44', 1, '2025-12-30 16:54:44', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (365312682481553408, 0, 0, 'menus.ai.mcp', '/ai/mcp', '/ai/mcp/Mcp', 'svg:mcp', 1, '', 62, 0, '2026-01-04 14:43:11', 1, '2026-01-06 10:03:08', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (365314158356467712, 365312682481553408, 1, '查询', '', '', '', 0, '/api/v1/mcp/query', 1, 0, '2026-01-04 14:49:03', 1, '2026-01-04 14:49:03', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (365314258952654848, 365312682481553408, 1, '保存', '', '', '', 0, '/api/v1/mcp/save', 2, 0, '2026-01-04 14:49:27', 1, '2026-01-04 14:49:27', 1, '');
-INSERT INTO `tb_sys_menu` (`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`, `is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`) VALUES (365314364238073856, 365312682481553408, 1, '删除', '', '', '', 0, '/api/v1/mcp/remove', 3, 0, '2026-01-04 14:49:52', 1, '2026-01-04 14:49:52', 1, '');
-
--- ----------------------------
--- Records of tb_sys_role
--- ----------------------------
-INSERT INTO `tb_sys_role` (`id`, `tenant_id`, `role_name`, `role_key`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`, `data_scope`, `menu_check_strictly`, `dept_check_strictly`) VALUES (1, 1000000, '超级管理员', 'super_admin', 1, '2025-03-14 14:52:37', 1, '2025-03-14 14:52:37', 1, '', 1, 0, 0);
-
--- ----------------------------
--- Records of tb_sys_role_menu
--- ----------------------------
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (183724390000000005, 1, 183724390000000001);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (183724390000000006, 1, 183724390000000002);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (183724390000000007, 1, 183724390000000003);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (183724390000000008, 1, 183724390000000004);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (259111372649250817, 1, 258052774330368000);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (259111372649250818, 1, 258075705244676096);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (259111372649250819, 1, 258075850434703360);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (259111372649250822, 1, 259048038847483904);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (259111372649250825, 1, 258052082618335232);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (259168916826611712, 1, 259168916721754112);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (259169318829678592, 1, 259169318720626688);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (259169837941907456, 1, 259169837824466944);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (259169982280491008, 1, 259169982154661888);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (259170117223833600, 1, 259170117110587392);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (259170422447529984, 1, 259170422338478080);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (259170538378092544, 1, 259170538264846336);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (270761213603205120, 1, 270761213536096256);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (282254669390716928, 1, 282254669269082112);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243919488049152, 1, 298243919118950400);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243919966199808, 1, 298243919727124480);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243920444350464, 1, 298243920205275136);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243920926695424, 1, 298243920679231488);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243921404846080, 1, 298243921161576448);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243921908162560, 1, 298243921639727104);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243922398896128, 1, 298243922155626496);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243922877046784, 1, 298243922637971456);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243923367780352, 1, 298243923116122112);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243923866902528, 1, 298243923627827200);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243924336664576, 1, 298243924105977856);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243924810620928, 1, 298243924571545600);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243926689669120, 1, 298243926450593792);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243927155236864, 1, 298243926920355840);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243927620804608, 1, 298243927385923584);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243929525018624, 1, 298243929294331904);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243929990586368, 1, 298243929755705344);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243930460348416, 1, 298243930225467392);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243932368756736, 1, 298243932104515584);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243932846907392, 1, 298243932607832064);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243933312475136, 1, 298243933077594112);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243933786431488, 1, 298243933547356160);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243934260387840, 1, 298243934025506816);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243934730149888, 1, 298243934495268864);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243935199911936, 1, 298243934960836608);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243935669673984, 1, 298243935430598656);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243936139436032, 1, 298243935904555008);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243936621780992, 1, 298243936374317056);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243937083154432, 1, 298243936848273408);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243937552916480, 1, 298243937313841152);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243938010095616, 1, 298243937783603200);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243938475663360, 1, 298243938240782336);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243938949619712, 1, 298243938706350080);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243939415187456, 1, 298243939180306432);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243939884949504, 1, 298243939650068480);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243940358905856, 1, 298243940115636224);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243940845445120, 1, 298243940614758400);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243941315207168, 1, 298243941080326144);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (298243941780774912, 1, 298243941545893888);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (300008008490852352, 1, 300008008381800448);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (300008360078385152, 1, 300008359986110464);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (300012644702535680, 1, 300012644643815424);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (300013092310269952, 1, 300013092268326912);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (300817858284199936, 1, 300817858217091072);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (300818298325409792, 1, 300818298270883840);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (300818387789914112, 1, 300818387710222336);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (300818488344158208, 1, 300818488214134784);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (363168956335558656, 1, 363168956276838400);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (363533849537527808, 1, 363533849449447424);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (365312682603188224, 1, 365312682481553408);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (365314158469713920, 1, 365314158356467712);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (365314259057512448, 1, 365314258952654848);
-INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`) VALUES (365314364334542848, 1, 365314364238073856);
-
-
--- ----------------------------
--- Records of tb_model_provider
--- ----------------------------
-INSERT INTO `tb_model_provider` (`id`, `provider_name`, `provider_type`, `icon`, `api_key`, `endpoint`, `chat_path`, `embed_path`, `rerank_path`, `created`, `created_by`, `modified`, `modified_by`) VALUES (359110667376132096, '硅基流动', 'siliconlow', '', '', 'https://api.siliconflow.cn', '/v1/chat/completions', '/v1/embeddings', '/v1/rerank', '2026-03-10 10:00:00', 1, '2026-03-10 10:00:00', 1);
-INSERT INTO `tb_model_provider` (`id`, `provider_name`, `provider_type`, `icon`, `api_key`, `endpoint`, `chat_path`, `embed_path`, `rerank_path`, `created`, `created_by`, `modified`, `modified_by`) VALUES (359110690079899648, 'Ollama', 'ollama', '', '', 'http://127.0.0.1:11434', '/v1/chat/completions', '/api/embed', '', '2026-03-10 10:00:00', 1, '2026-03-10 10:00:00', 1);
-INSERT INTO `tb_model_provider` (`id`, `provider_name`, `provider_type`, `icon`, `api_key`, `endpoint`, `chat_path`, `embed_path`, `rerank_path`, `created`, `created_by`, `modified`, `modified_by`) VALUES (359111120310632448, 'DeepSeek', 'deepseek', '', '', 'https://api.deepseek.com', '/chat/completions', '', '', '2026-03-10 10:00:00', 1, '2026-03-10 10:00:00', 1);
-INSERT INTO `tb_model_provider` (`id`, `provider_name`, `provider_type`, `icon`, `api_key`, `endpoint`, `chat_path`, `embed_path`, `rerank_path`, `created`, `created_by`, `modified`, `modified_by`) VALUES (359111228158771200, 'OpenAI', 'openai', '', '', 'https://api.openai.com', '/v1/chat/completions', '/v1/embeddings', '', '2026-03-10 10:00:00', 1, '2026-03-10 10:00:00', 1);
-INSERT INTO `tb_model_provider` (`id`, `provider_name`, `provider_type`, `icon`, `api_key`, `endpoint`, `chat_path`, `embed_path`, `rerank_path`, `created`, `created_by`, `modified`, `modified_by`) VALUES (359111448204541952, '阿里百炼', 'aliyun', '', '', 'https://dashscope.aliyuncs.com', '/compatible-mode/v1/chat/completions', '/compatible-mode/v1/embeddings', '/api/v1/services/rerank/text-rerank/text-rerank', '2026-03-10 10:00:00', 1, '2026-03-10 10:00:00', 1);
-INSERT INTO `tb_model_provider` (`id`, `provider_name`, `provider_type`, `icon`, `api_key`, `endpoint`, `chat_path`, `embed_path`, `rerank_path`, `created`, `created_by`, `modified`, `modified_by`) VALUES (366100000000000001, '智谱', 'zhipu', '', '', 'https://open.bigmodel.cn', '/api/paas/v4/chat/completions', '/api/paas/v4/embeddings', '', '2026-03-10 10:00:00', 1, '2026-03-10 10:00:00', 1);
-INSERT INTO `tb_model_provider` (`id`, `provider_name`, `provider_type`, `icon`, `api_key`, `endpoint`, `chat_path`, `embed_path`, `rerank_path`, `created`, `created_by`, `modified`, `modified_by`) VALUES (366100000000000002, 'MiniMax', 'minimax', '', '', 'https://api.minimax.io', '/v1/chat/completions', '', '', '2026-03-10 10:00:00', 1, '2026-03-10 10:00:00', 1);
-INSERT INTO `tb_model_provider` (`id`, `provider_name`, `provider_type`, `icon`, `api_key`, `endpoint`, `chat_path`, `embed_path`, `rerank_path`, `created`, `created_by`, `modified`, `modified_by`) VALUES (366100000000000003, 'Kimi', 'kimi', '', '', 'https://api.moonshot.cn', '/v1/chat/completions', '', '', '2026-03-10 10:00:00', 1, '2026-03-10 10:00:00', 1);
-INSERT INTO `tb_model_provider` (`id`, `provider_name`, `provider_type`, `icon`, `api_key`, `endpoint`, `chat_path`, `embed_path`, `rerank_path`, `created`, `created_by`, `modified`, `modified_by`) VALUES (366100000000000004, '自部署', 'self-hosted', '', '', 'http://127.0.0.1:8000', '/v1/chat/completions', '/v1/embeddings', '/v1/score', '2026-03-10 10:00:00', 1, '2026-03-10 10:00:00', 1);
-
--- ----------------------------
--- Records of tb_model
--- ----------------------------
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010001, 1, 1000000, 359111120310632448, 'DeepSeek-V3', NULL, '通用对话与代码任务表现均衡。', NULL, NULL, 'deepseek-chat', NULL, NULL, '{"llmEndpoint":"https://api.deepseek.com","chatPath":"/chat/completions","embedPath":"","rerankPath":""}', 'DeepSeek', 'chatModel', 1, 0, 1, NULL, NULL, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010002, 1, 1000000, 359111120310632448, 'DeepSeek-R1', NULL, '复杂推理与长链路分析场景。', NULL, NULL, 'deepseek-reasoner', NULL, NULL, '{"llmEndpoint":"https://api.deepseek.com","chatPath":"/chat/completions","embedPath":"","rerankPath":""}', 'DeepSeek', 'chatModel', 1, 1, 1, NULL, NULL, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010003, 1, 1000000, 359111228158771200, 'o4-mini', NULL, '轻量推理与通用生产任务模型。', NULL, NULL, 'o4-mini', NULL, NULL, '{"llmEndpoint":"https://api.openai.com","chatPath":"/v1/chat/completions","embedPath":"/v1/embeddings","rerankPath":""}', 'OpenAI', 'chatModel', 1, 1, 1, 1, 0, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010004, 1, 1000000, 359111228158771200, 'GPT-4.1', NULL, '复杂任务与多模态理解旗舰模型。', NULL, NULL, 'gpt-4.1', NULL, NULL, '{"llmEndpoint":"https://api.openai.com","chatPath":"/v1/chat/completions","embedPath":"/v1/embeddings","rerankPath":""}', 'OpenAI', 'chatModel', 1, 1, 1, 1, 0, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010005, 1, 1000000, 359111228158771200, 'text-embedding-3-large', NULL, '高质量文本向量模型。', NULL, NULL, 'text-embedding-3-large', NULL, NULL, '{"llmEndpoint":"https://api.openai.com","chatPath":"/v1/chat/completions","embedPath":"/v1/embeddings","rerankPath":""}', 'Embedding', 'embeddingModel', 1, 0, 0, NULL, NULL, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010006, 1, 1000000, 359111448204541952, '通义千问 Plus', NULL, '适合通用问答与工具调用。', NULL, NULL, 'qwen-plus', NULL, NULL, '{"llmEndpoint":"https://dashscope.aliyuncs.com","chatPath":"/compatible-mode/v1/chat/completions","embedPath":"/compatible-mode/v1/embeddings","rerankPath":"/api/v1/services/rerank/text-rerank/text-rerank"}', 'Qwen', 'chatModel', 1, 0, 1, NULL, NULL, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010007, 1, 1000000, 359111448204541952, '通义千问 Max', NULL, '综合能力更强的主力模型。', NULL, NULL, 'qwen-max', NULL, NULL, '{"llmEndpoint":"https://dashscope.aliyuncs.com","chatPath":"/compatible-mode/v1/chat/completions","embedPath":"/compatible-mode/v1/embeddings","rerankPath":"/api/v1/services/rerank/text-rerank/text-rerank"}', 'Qwen', 'chatModel', 1, 0, 1, NULL, NULL, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010008, 1, 1000000, 359111448204541952, 'text-embedding-v4', NULL, '阿里百炼默认向量模型。', NULL, NULL, 'text-embedding-v4', NULL, NULL, '{"llmEndpoint":"https://dashscope.aliyuncs.com","chatPath":"/compatible-mode/v1/chat/completions","embedPath":"/compatible-mode/v1/embeddings","rerankPath":"/api/v1/services/rerank/text-rerank/text-rerank"}', 'Embedding', 'embeddingModel', 1, 0, 0, NULL, NULL, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010009, 1, 1000000, 359111448204541952, 'gte-rerank-v2', NULL, '阿里百炼默认重排模型。', NULL, NULL, 'gte-rerank-v2', NULL, NULL, '{"llmEndpoint":"https://dashscope.aliyuncs.com","chatPath":"/compatible-mode/v1/chat/completions","embedPath":"/compatible-mode/v1/embeddings","rerankPath":"/api/v1/services/rerank/text-rerank/text-rerank"}', 'Rerank', 'rerankModel', 1, 0, 0, NULL, NULL, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010010, 1, 1000000, 366100000000000001, 'GLM-4.5', NULL, '中文与推理能力表现均衡。', NULL, NULL, 'glm-4.5', NULL, NULL, '{"llmEndpoint":"https://open.bigmodel.cn","chatPath":"/api/paas/v4/chat/completions","embedPath":"/api/paas/v4/embeddings","rerankPath":""}', 'GLM', 'chatModel', 1, 1, 1, NULL, NULL, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010011, 1, 1000000, 366100000000000001, 'GLM-4.5-Air', NULL, '低延迟通用模型。', NULL, NULL, 'glm-4.5-air', NULL, NULL, '{"llmEndpoint":"https://open.bigmodel.cn","chatPath":"/api/paas/v4/chat/completions","embedPath":"/api/paas/v4/embeddings","rerankPath":""}', 'GLM', 'chatModel', 1, 0, 1, NULL, NULL, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010012, 1, 1000000, 366100000000000001, 'Embedding-3', NULL, '知识库与检索常用向量模型。', NULL, NULL, 'embedding-3', NULL, NULL, '{"llmEndpoint":"https://open.bigmodel.cn","chatPath":"/api/paas/v4/chat/completions","embedPath":"/api/paas/v4/embeddings","rerankPath":""}', 'Embedding', 'embeddingModel', 1, 0, 0, NULL, NULL, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010013, 1, 1000000, 366100000000000002, 'MiniMax-M2.5', NULL, '长上下文与复杂推理场景。', NULL, NULL, 'MiniMax-M2.5', NULL, NULL, '{"llmEndpoint":"https://api.minimax.io","chatPath":"/v1/chat/completions","embedPath":"","rerankPath":""}', 'MiniMax', 'chatModel', 1, 1, 1, NULL, NULL, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010014, 1, 1000000, 366100000000000002, 'MiniMax-M2.5-highspeed', NULL, '更高吞吐的快速对话模型。', NULL, NULL, 'MiniMax-M2.5-highspeed', NULL, NULL, '{"llmEndpoint":"https://api.minimax.io","chatPath":"/v1/chat/completions","embedPath":"","rerankPath":""}', 'MiniMax', 'chatModel', 1, 0, 1, NULL, NULL, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010015, 1, 1000000, 366100000000000003, 'moonshot-v1-8k', NULL, '低延迟通用对话模型。', NULL, NULL, 'moonshot-v1-8k', NULL, NULL, '{"llmEndpoint":"https://api.moonshot.cn","chatPath":"/v1/chat/completions","embedPath":"","rerankPath":""}', 'Kimi', 'chatModel', 1, 0, 1, NULL, NULL, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010016, 1, 1000000, 366100000000000003, 'moonshot-v1-128k', NULL, '长文档理解与大上下文任务。', NULL, NULL, 'moonshot-v1-128k', NULL, NULL, '{"llmEndpoint":"https://api.moonshot.cn","chatPath":"/v1/chat/completions","embedPath":"","rerankPath":""}', 'Kimi', 'chatModel', 1, 0, 1, NULL, NULL, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010017, 1, 1000000, 359110667376132096, 'DeepSeek-V3', NULL, '统一平台接入的开源对话模型。', NULL, NULL, 'deepseek-ai/DeepSeek-V3', NULL, NULL, '{"llmEndpoint":"https://api.siliconflow.cn","chatPath":"/v1/chat/completions","embedPath":"/v1/embeddings","rerankPath":"/v1/rerank"}', 'DeepSeek', 'chatModel', 1, 0, 1, NULL, NULL, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010018, 1, 1000000, 359110667376132096, 'Kimi-K2-Instruct', NULL, '代码与 Agent 工作流场景常用模型。', NULL, NULL, 'moonshotai/Kimi-K2-Instruct', NULL, NULL, '{"llmEndpoint":"https://api.siliconflow.cn","chatPath":"/v1/chat/completions","embedPath":"/v1/embeddings","rerankPath":"/v1/rerank"}', 'Kimi', 'chatModel', 1, 0, 1, NULL, NULL, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010019, 1, 1000000, 359110667376132096, 'BAAI/bge-m3', NULL, '多语言检索与向量召回模型。', NULL, NULL, 'BAAI/bge-m3', NULL, NULL, '{"llmEndpoint":"https://api.siliconflow.cn","chatPath":"/v1/chat/completions","embedPath":"/v1/embeddings","rerankPath":"/v1/rerank"}', 'Embedding', 'embeddingModel', 1, 0, 0, NULL, NULL, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010020, 1, 1000000, 359110690079899648, 'qwen3:8b', NULL, '本地开发常用的通用对话模型。', NULL, NULL, 'qwen3:8b', NULL, NULL, '{"llmEndpoint":"http://127.0.0.1:11434","chatPath":"/v1/chat/completions","embedPath":"/api/embed","rerankPath":""}', 'Ollama', 'chatModel', 1, 0, 1, NULL, NULL, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010021, 1, 1000000, 359110690079899648, 'bge-m3', NULL, '本地向量化与检索验证。', NULL, NULL, 'bge-m3', NULL, NULL, '{"llmEndpoint":"http://127.0.0.1:11434","chatPath":"/v1/chat/completions","embedPath":"/api/embed","rerankPath":""}', 'Embedding', 'embeddingModel', 1, 0, 0, NULL, NULL, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010022, 1, 1000000, 366100000000000004, 'Qwen/Qwen3-32B', NULL, '适合自部署对话与工具调用。', NULL, NULL, 'Qwen/Qwen3-32B', NULL, NULL, '{"llmEndpoint":"http://127.0.0.1:8000","chatPath":"/v1/chat/completions","embedPath":"/v1/embeddings","rerankPath":"/v1/score"}', 'Qwen', 'chatModel', 1, 0, 1, NULL, NULL, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010023, 1, 1000000, 366100000000000004, 'BAAI/bge-m3', NULL, '自部署检索和知识库向量化。', NULL, NULL, 'BAAI/bge-m3', NULL, NULL, '{"llmEndpoint":"http://127.0.0.1:8000","chatPath":"/v1/chat/completions","embedPath":"/v1/embeddings","rerankPath":"/v1/score"}', 'Embedding', 'embeddingModel', 1, 0, 0, NULL, NULL, NULL, NULL, 0);
-INSERT INTO `tb_model` (`id`, `dept_id`, `tenant_id`, `provider_id`, `title`, `icon`, `description`, `endpoint`, `request_path`, `model_name`, `api_key`, `extra_config`, `options`, `group_name`, `model_type`, `with_used`, `support_thinking`, `support_tool`, `support_image`, `support_image_b64_only`, `support_video`, `support_audio`, `support_free`) VALUES (366100000000010024, 1, 1000000, 366100000000000004, 'jinaai/jina-reranker-m0', NULL, '自部署召回重排模型。', NULL, NULL, 'jinaai/jina-reranker-m0', NULL, NULL, '{"llmEndpoint":"http://127.0.0.1:8000","chatPath":"/v1/chat/completions","embedPath":"/v1/embeddings","rerankPath":"/v1/score"}', 'Rerank', 'rerankModel', 1, 0, 0, NULL, NULL, NULL, NULL, 0);
-
--- ----------------------------
--- Records of tb_sys_option
--- ----------------------------
-
-INSERT INTO `tb_mcp` (`id`, `title`, `description`, `config_json`, `dept_id`, `tenant_id`, `created`, `created_by`, `modified`, `modified_by`, `status`) VALUES (365597368948781056, '测试everything', 'MCP测试功能', '{
- \"mcpServers\": {
- \"everything\": {
- \"command\": \"npx\",
- \"args\": [
- \"-y\",
- \"@modelcontextprotocol/server-everything\"
- ]
- }
- }
-}', 1, 1000000, '2026-01-06 09:57:07', 1, '2026-01-06 09:57:07', 1, 0);
-INSERT INTO `tb_mcp` (`id`, `title`, `description`, `config_json`, `dept_id`, `tenant_id`, `created`, `created_by`, `modified`, `modified_by`, `status`) VALUES (365956218142994432, '12306购票综合查询', '12306购票综合查询', '{
- \"mcpServers\": {
- \"12306-mcp\": {
- \"command\": \"npx\",
- \"args\": [
- \"-y\",
- \"12306-mcp\"
- ]
- }
- }
-}', 1, 1000000, '2026-01-06 09:56:44', 1, '2026-01-06 09:56:44', 1, 0);
diff --git a/sql/initdb/README.md b/sql/initdb/README.md
deleted file mode 100644
index 3a0a925..0000000
--- a/sql/initdb/README.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# EasyFlow Init SQL
-
-This directory is for **fresh database initialization only**.
-
-Included scripts:
-
-1. `00-quartz.sql`
-2. `01-easyflow-v2.ddl.sql`
-3. `02-easyflow-v2.data.sql`
-
-Do not put incremental upgrade scripts here (such as `03/04/05`), otherwise first-time init may fail due to duplicated columns/indexes.