feat(database): 接入多模块 Liquibase 迁移 / Add multi-module Liquibase migrations
为后端服务增加 MySQL 与 PostgreSQL 的表结构、初始化数据和独立 Liquibase 入口。\nAdd database schemas, seed data, and isolated Liquibase changelog entrypoints for backend services.
This commit is contained in:
@@ -17,6 +17,17 @@
|
||||
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-liquibase</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-common-nacos</artifactId>
|
||||
@@ -77,6 +88,12 @@
|
||||
<version>${anyline.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.anyline</groupId>
|
||||
<artifactId>anyline-data-jdbc-postgresql</artifactId>
|
||||
<version>${anyline.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- anyline支持100+种类型数据库 添加对应的jdbc依赖与anyline对应数据库依赖包即可 -->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.anyline</groupId>-->
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
databaseChangeLog:
|
||||
- include:
|
||||
file: mysql/gen_table.sql
|
||||
relativeToChangelogFile: true
|
||||
- include:
|
||||
file: mysql/gen_data.sql
|
||||
relativeToChangelogFile: true
|
||||
- include:
|
||||
file: postgresql/gen_table.sql
|
||||
relativeToChangelogFile: true
|
||||
- include:
|
||||
file: postgresql/gen_data.sql
|
||||
relativeToChangelogFile: true
|
||||
@@ -0,0 +1,3 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
-- 本模块暂无生产初始化数据。
|
||||
@@ -0,0 +1,63 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset seewis:gen-mysql-table-baseline dbms:mysql splitStatements:true
|
||||
-- ----------------------------
|
||||
-- 19、代码生成业务表
|
||||
-- ----------------------------
|
||||
-- ### 代码生成业务表
|
||||
create table gen_table (
|
||||
table_id bigint(20) not null comment '编号',
|
||||
data_name varchar(200) default '' comment '数据源名称',
|
||||
table_name varchar(200) default '' comment '表名称',
|
||||
table_comment varchar(500) default '' comment '表描述',
|
||||
class_name varchar(100) default '' comment '实体类名称',
|
||||
tpl_category varchar(200) default 'crud' comment '使用的模板(crud单表操作 tree树表操作)',
|
||||
frontend_type varchar(30) default 'vue' comment '前端模板类型',
|
||||
package_name varchar(100) comment '生成包路径',
|
||||
module_name varchar(30) comment '生成模块名',
|
||||
business_name varchar(30) comment '生成业务名',
|
||||
function_name varchar(50) comment '生成功能名',
|
||||
function_author varchar(50) comment '生成功能作者',
|
||||
gen_type char(1) default '0' comment '生成代码方式(0zip压缩包 1自定义路径)',
|
||||
gen_path varchar(200) default '/' comment '生成路径(不填默认项目路径)',
|
||||
options varchar(1000) comment '其它生成选项',
|
||||
create_dept bigint(20) default null comment '创建部门',
|
||||
create_by bigint(20) default null comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by bigint(20) default null comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
remark varchar(500) default null comment '备注',
|
||||
primary key (table_id)
|
||||
) engine=innodb comment = '代码生成业务表';
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 19、代码生成业务表字段
|
||||
-- ----------------------------
|
||||
-- ### 代码生成业务字段表
|
||||
create table gen_table_column (
|
||||
column_id bigint(20) not null comment '编号',
|
||||
table_id bigint(20) comment '归属表编号',
|
||||
column_name varchar(200) comment '列名称',
|
||||
column_comment varchar(500) comment '列描述',
|
||||
column_type varchar(100) comment '列类型',
|
||||
java_type varchar(500) comment 'JAVA类型',
|
||||
java_field varchar(200) comment 'JAVA字段名',
|
||||
is_pk char(1) comment '是否主键(1是)',
|
||||
is_increment char(1) comment '是否自增(1是)',
|
||||
is_required char(1) comment '是否必填(1是)',
|
||||
is_insert char(1) comment '是否为插入字段(1是)',
|
||||
is_edit char(1) comment '是否编辑字段(1是)',
|
||||
is_list char(1) comment '是否列表字段(1是)',
|
||||
is_query char(1) comment '是否查询字段(1是)',
|
||||
query_type varchar(200) default 'EQ' comment '查询方式(等于、不等于、大于、小于、范围)',
|
||||
html_type varchar(200) comment '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)',
|
||||
dict_type varchar(200) default '' comment '字典类型',
|
||||
sort int comment '排序',
|
||||
create_dept bigint(20) default null comment '创建部门',
|
||||
create_by bigint(20) default null comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by bigint(20) default null comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
primary key (column_id)
|
||||
) engine=innodb comment = '代码生成业务表字段';
|
||||
@@ -0,0 +1,3 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
-- 本模块暂无生产初始化数据。
|
||||
@@ -0,0 +1,112 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset seewis:gen-postgresql-table-baseline dbms:postgresql splitStatements:false
|
||||
-- ----------------------------
|
||||
-- 19、代码生成业务表
|
||||
-- ----------------------------
|
||||
-- ### 代码生成业务表
|
||||
create table if not exists gen_table
|
||||
(
|
||||
table_id int8,
|
||||
data_name varchar(200) default ''::varchar,
|
||||
table_name varchar(200) default ''::varchar,
|
||||
table_comment varchar(500) default ''::varchar,
|
||||
class_name varchar(100) default ''::varchar,
|
||||
tpl_category varchar(200) default 'crud'::varchar,
|
||||
frontend_type varchar(30) default 'vue'::varchar,
|
||||
package_name varchar(100) default null::varchar,
|
||||
module_name varchar(30) default null::varchar,
|
||||
business_name varchar(30) default null::varchar,
|
||||
function_name varchar(50) default null::varchar,
|
||||
function_author varchar(50) default null::varchar,
|
||||
gen_type char default '0'::bpchar not null,
|
||||
gen_path varchar(200) default '/'::varchar,
|
||||
options varchar(1000) default null::varchar,
|
||||
create_dept int8,
|
||||
create_by int8,
|
||||
create_time timestamp,
|
||||
update_by int8,
|
||||
update_time timestamp,
|
||||
remark varchar(500) default null::varchar,
|
||||
constraint gen_table_pk primary key (table_id)
|
||||
);
|
||||
|
||||
comment on table gen_table is '代码生成业务表';
|
||||
comment on column gen_table.table_id is '编号';
|
||||
comment on column gen_table.data_name is '数据源名称';
|
||||
comment on column gen_table.table_name is '表名称';
|
||||
comment on column gen_table.table_comment is '表描述';
|
||||
comment on column gen_table.class_name is '实体类名称';
|
||||
comment on column gen_table.tpl_category is '使用的模板(CRUD单表操作 TREE树表操作)';
|
||||
comment on column gen_table.frontend_type is '前端模板类型';
|
||||
comment on column gen_table.package_name is '生成包路径';
|
||||
comment on column gen_table.module_name is '生成模块名';
|
||||
comment on column gen_table.business_name is '生成业务名';
|
||||
comment on column gen_table.function_name is '生成功能名';
|
||||
comment on column gen_table.function_author is '生成功能作者';
|
||||
comment on column gen_table.gen_type is '生成代码方式(0zip压缩包 1自定义路径)';
|
||||
comment on column gen_table.gen_path is '生成路径(不填默认项目路径)';
|
||||
comment on column gen_table.options is '其它生成选项';
|
||||
comment on column gen_table.create_dept is '创建部门';
|
||||
comment on column gen_table.create_by is '创建者';
|
||||
comment on column gen_table.create_time is '创建时间';
|
||||
comment on column gen_table.update_by is '更新者';
|
||||
comment on column gen_table.update_time is '更新时间';
|
||||
comment on column gen_table.remark is '备注';
|
||||
|
||||
-- ----------------------------
|
||||
-- 20、代码生成业务表字段
|
||||
-- ----------------------------
|
||||
-- ### 代码生成业务字段表
|
||||
create table if not exists gen_table_column
|
||||
(
|
||||
column_id int8,
|
||||
table_id int8,
|
||||
column_name varchar(200) default null::varchar,
|
||||
column_comment varchar(500) default null::varchar,
|
||||
column_type varchar(100) default null::varchar,
|
||||
java_type varchar(500) default null::varchar,
|
||||
java_field varchar(200) default null::varchar,
|
||||
is_pk char default null::bpchar,
|
||||
is_increment char default null::bpchar,
|
||||
is_required char default null::bpchar,
|
||||
is_insert char default null::bpchar,
|
||||
is_edit char default null::bpchar,
|
||||
is_list char default null::bpchar,
|
||||
is_query char default null::bpchar,
|
||||
query_type varchar(200) default 'EQ'::varchar,
|
||||
html_type varchar(200) default null::varchar,
|
||||
dict_type varchar(200) default ''::varchar,
|
||||
sort int4,
|
||||
create_dept int8,
|
||||
create_by int8,
|
||||
create_time timestamp,
|
||||
update_by int8,
|
||||
update_time timestamp,
|
||||
constraint gen_table_column_pk primary key (column_id)
|
||||
);
|
||||
|
||||
comment on table gen_table_column is '代码生成业务表字段';
|
||||
comment on column gen_table_column.column_id is '编号';
|
||||
comment on column gen_table_column.table_id is '归属表编号';
|
||||
comment on column gen_table_column.column_name is '列名称';
|
||||
comment on column gen_table_column.column_comment is '列描述';
|
||||
comment on column gen_table_column.column_type is '列类型';
|
||||
comment on column gen_table_column.java_type is 'JAVA类型';
|
||||
comment on column gen_table_column.java_field is 'JAVA字段名';
|
||||
comment on column gen_table_column.is_pk is '是否主键(1是)';
|
||||
comment on column gen_table_column.is_increment is '是否自增(1是)';
|
||||
comment on column gen_table_column.is_required is '是否必填(1是)';
|
||||
comment on column gen_table_column.is_insert is '是否为插入字段(1是)';
|
||||
comment on column gen_table_column.is_edit is '是否编辑字段(1是)';
|
||||
comment on column gen_table_column.is_list is '是否列表字段(1是)';
|
||||
comment on column gen_table_column.is_query is '是否查询字段(1是)';
|
||||
comment on column gen_table_column.query_type is '查询方式(等于、不等于、大于、小于、范围)';
|
||||
comment on column gen_table_column.html_type is '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)';
|
||||
comment on column gen_table_column.dict_type is '字典类型';
|
||||
comment on column gen_table_column.sort is '排序';
|
||||
comment on column gen_table_column.create_dept is '创建部门';
|
||||
comment on column gen_table_column.create_by is '创建者';
|
||||
comment on column gen_table_column.create_time is '创建时间';
|
||||
comment on column gen_table_column.update_by is '更新者';
|
||||
comment on column gen_table_column.update_time is '更新时间';
|
||||
@@ -17,6 +17,17 @@
|
||||
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-liquibase</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-common-nacos</artifactId>
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
databaseChangeLog:
|
||||
- include:
|
||||
file: mysql/job_table.sql
|
||||
relativeToChangelogFile: true
|
||||
- include:
|
||||
file: mysql/job_data.sql
|
||||
relativeToChangelogFile: true
|
||||
- include:
|
||||
file: postgresql/job_table.sql
|
||||
relativeToChangelogFile: true
|
||||
- include:
|
||||
file: postgresql/job_data.sql
|
||||
relativeToChangelogFile: true
|
||||
@@ -0,0 +1,13 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset seewis:job-mysql-data-baseline dbms:mysql splitStatements:true
|
||||
INSERT INTO `sj_namespace` VALUES (1, 'Development', 'dev', '', 0, now(), now());
|
||||
|
||||
INSERT INTO `sj_namespace` VALUES (2, 'Production', 'prod', '', 0, now(), now());
|
||||
|
||||
INSERT INTO `sj_group_config` VALUES (1, 'dev', 'ruoyi_group', '', 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, now(), now());
|
||||
|
||||
INSERT INTO `sj_group_config` VALUES (2, 'prod', 'ruoyi_group', '', 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, now(), now());
|
||||
|
||||
INSERT INTO `sj_system_user` (username, password, role)
|
||||
VALUES ('admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2);
|
||||
@@ -0,0 +1,555 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset seewis:job-mysql-table-baseline dbms:mysql splitStatements:true
|
||||
-- ### 命名空间表
|
||||
CREATE TABLE `sj_namespace`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`name` varchar(64) NOT NULL COMMENT '名称',
|
||||
`unique_id` varchar(64) NOT NULL COMMENT '唯一id',
|
||||
`description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述',
|
||||
`deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 1、删除',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_name` (`name`),
|
||||
UNIQUE KEY `uk_unique_id` (`unique_id`)
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='命名空间';
|
||||
|
||||
|
||||
-- ### 组配置表
|
||||
CREATE TABLE `sj_group_config`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
|
||||
`group_name` varchar(64) NOT NULL DEFAULT '' COMMENT '组名称',
|
||||
`description` varchar(256) NOT NULL DEFAULT '' COMMENT '组描述',
|
||||
`token` varchar(64) NOT NULL DEFAULT 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT' COMMENT 'token',
|
||||
`group_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '组状态 0、未启用 1、启用',
|
||||
`version` int(11) NOT NULL COMMENT '版本号',
|
||||
`group_partition` int(11) NOT NULL COMMENT '分区',
|
||||
`id_generator_mode` tinyint(4) NOT NULL DEFAULT 1 COMMENT '唯一id生成模式 默认号段模式',
|
||||
`init_scene` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否初始化场景 0:否 1:是',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_namespace_id_group_name` (`namespace_id`, `group_name`)
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 0
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='组配置';
|
||||
|
||||
|
||||
-- ### 通知配置表
|
||||
CREATE TABLE `sj_notify_config`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
|
||||
`group_name` varchar(64) NOT NULL COMMENT '组名称',
|
||||
`notify_name` varchar(64) NOT NULL DEFAULT '' COMMENT '通知名称',
|
||||
`system_task_type` tinyint(4) NOT NULL DEFAULT 3 COMMENT '任务类型 1. 重试任务 2. 重试回调 3、JOB任务 4、WORKFLOW任务',
|
||||
`notify_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '通知状态 0、未启用 1、启用',
|
||||
`recipient_ids` varchar(128) NOT NULL COMMENT '接收人id列表',
|
||||
`notify_threshold` int(11) NOT NULL DEFAULT 0 COMMENT '通知阈值',
|
||||
`notify_scene` tinyint(4) NOT NULL DEFAULT 0 COMMENT '通知场景',
|
||||
`rate_limiter_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '限流状态 0、未启用 1、启用',
|
||||
`rate_limiter_threshold` int(11) NOT NULL DEFAULT 0 COMMENT '每秒限流阈值',
|
||||
`description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`)
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 0
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='通知配置';
|
||||
|
||||
-- ### 告警通知接收人表
|
||||
CREATE TABLE `sj_notify_recipient`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
|
||||
`recipient_name` varchar(64) NOT NULL COMMENT '接收人名称',
|
||||
`notify_type` tinyint(4) NOT NULL DEFAULT 0 COMMENT '通知类型 1、钉钉 2、邮件 3、企业微信 4 飞书 5 webhook',
|
||||
`notify_attribute` varchar(512) NOT NULL COMMENT '配置属性',
|
||||
`description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_namespace_id` (`namespace_id`)
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 0
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='告警通知接收人';
|
||||
|
||||
-- ### 重试死信表
|
||||
CREATE TABLE `sj_retry_dead_letter`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
|
||||
`group_name` varchar(64) NOT NULL COMMENT '组名称',
|
||||
`group_id` bigint(20) NOT NULL COMMENT '组Id',
|
||||
`scene_name` varchar(64) NOT NULL COMMENT '场景名称',
|
||||
`scene_id` bigint(20) NOT NULL COMMENT '场景ID',
|
||||
`idempotent_id` varchar(64) NOT NULL COMMENT '幂等id',
|
||||
`biz_no` varchar(64) NOT NULL DEFAULT '' COMMENT '业务编号',
|
||||
`executor_name` varchar(512) NOT NULL DEFAULT '' COMMENT '执行器名称',
|
||||
-- jackson 兼容历史数据 预计1.8.0默认改为fury
|
||||
`serializer_name` varchar(32) NOT NULL DEFAULT 'jackson' COMMENT '执行方法参数序列化器名称',
|
||||
`args_str` text NOT NULL COMMENT '执行方法参数',
|
||||
`ext_attrs` text NOT NULL COMMENT '扩展字段',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`),
|
||||
KEY `idx_idempotent_id` (`idempotent_id`),
|
||||
KEY `idx_biz_no` (`biz_no`),
|
||||
KEY `idx_create_dt` (`create_dt`)
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 0
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='死信队列表';
|
||||
|
||||
-- ### 重试信息表
|
||||
CREATE TABLE `sj_retry`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
|
||||
`group_name` varchar(64) NOT NULL COMMENT '组名称',
|
||||
`group_id` bigint(20) NOT NULL COMMENT '组Id',
|
||||
`scene_name` varchar(64) NOT NULL COMMENT '场景名称',
|
||||
`scene_id` bigint(20) NOT NULL COMMENT '场景ID',
|
||||
`idempotent_id` varchar(64) NOT NULL COMMENT '幂等id',
|
||||
`biz_no` varchar(64) NOT NULL DEFAULT '' COMMENT '业务编号',
|
||||
`executor_name` varchar(512) NOT NULL DEFAULT '' COMMENT '执行器名称',
|
||||
`args_str` text NOT NULL COMMENT '执行方法参数',
|
||||
`ext_attrs` text NOT NULL COMMENT '扩展字段',
|
||||
-- jackson 兼容历史数据 预计1.8.0默认改为fury
|
||||
`serializer_name` varchar(32) NOT NULL DEFAULT 'jackson' COMMENT '执行方法参数序列化器名称',
|
||||
`next_trigger_at` bigint(13) NOT NULL COMMENT '下次触发时间',
|
||||
`retry_count` int(11) NOT NULL DEFAULT 0 COMMENT '重试次数',
|
||||
`retry_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '重试状态 0、重试中 1、成功 2、最大重试次数',
|
||||
`task_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '任务类型 1、重试数据 2、回调数据',
|
||||
`bucket_index` int(11) NOT NULL DEFAULT 0 COMMENT 'bucket',
|
||||
`parent_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '父节点id',
|
||||
`deleted` bigint(20) NOT NULL DEFAULT 0 COMMENT '逻辑删除',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_biz_no` (`biz_no`),
|
||||
KEY `idx_idempotent_id` (`idempotent_id`),
|
||||
KEY `idx_retry_status_bucket_index` (`retry_status`, `bucket_index`),
|
||||
KEY `idx_parent_id` (`parent_id`),
|
||||
KEY `idx_create_dt` (`create_dt`),
|
||||
UNIQUE KEY `uk_scene_tasktype_idempotentid_deleted` (`scene_id`, `task_type`, `idempotent_id`, `deleted`)
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 0
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='重试信息表';
|
||||
|
||||
-- ### 重试任务表
|
||||
CREATE TABLE `sj_retry_task`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
|
||||
`group_name` varchar(64) NOT NULL COMMENT '组名称',
|
||||
`scene_name` varchar(64) NOT NULL COMMENT '场景名称',
|
||||
`retry_id` bigint(20) NOT NULL COMMENT '重试信息Id',
|
||||
`ext_attrs` text NOT NULL COMMENT '扩展字段',
|
||||
`task_status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '重试状态',
|
||||
`task_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '任务类型 1、重试数据 2、回调数据',
|
||||
`operation_reason` tinyint(4) NOT NULL DEFAULT 0 COMMENT '操作原因',
|
||||
`client_info` varchar(128) DEFAULT NULL COMMENT '客户端地址 clientId#ip:port',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`),
|
||||
KEY `task_status` (`task_status`),
|
||||
KEY `idx_create_dt` (`create_dt`),
|
||||
KEY `idx_retry_id` (`retry_id`)
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 0
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='重试任务表';
|
||||
|
||||
-- ### 重试任务日志消息表
|
||||
CREATE TABLE `sj_retry_task_log_message`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
|
||||
`group_name` varchar(64) NOT NULL COMMENT '组名称',
|
||||
`retry_id` bigint(20) NOT NULL COMMENT '重试信息Id',
|
||||
`retry_task_id` bigint(20) NOT NULL COMMENT '重试任务Id',
|
||||
`message` longtext NOT NULL COMMENT '异常信息',
|
||||
`log_num` int(11) NOT NULL DEFAULT 1 COMMENT '日志数量',
|
||||
`real_time` bigint(13) NOT NULL DEFAULT 0 COMMENT '上报时间',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_namespace_id_group_name_retry_task_id` (`namespace_id`, `group_name`, `retry_task_id`),
|
||||
KEY `idx_create_dt` (`create_dt`)
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 0
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='任务调度日志信息记录表';
|
||||
|
||||
-- ### 重试场景配置表
|
||||
CREATE TABLE `sj_retry_scene_config`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
|
||||
`scene_name` varchar(64) NOT NULL COMMENT '场景名称',
|
||||
`group_name` varchar(64) NOT NULL COMMENT '组名称',
|
||||
`scene_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '组状态 0、未启用 1、启用',
|
||||
`max_retry_count` int(11) NOT NULL DEFAULT 5 COMMENT '最大重试次数',
|
||||
`back_off` tinyint(4) NOT NULL DEFAULT 1 COMMENT '1、默认等级 2、固定间隔时间 3、CRON 表达式',
|
||||
`trigger_interval` varchar(16) NOT NULL DEFAULT '' COMMENT '间隔时长',
|
||||
`notify_ids` varchar(128) NOT NULL DEFAULT '' COMMENT '通知告警场景配置id列表',
|
||||
`deadline_request` bigint(20) unsigned NOT NULL DEFAULT 60000 COMMENT 'Deadline Request 调用链超时 单位毫秒',
|
||||
`executor_timeout` int(11) unsigned NOT NULL DEFAULT 5 COMMENT '任务执行超时时间,单位秒',
|
||||
`route_key` tinyint(4) NOT NULL DEFAULT 4 COMMENT '路由策略',
|
||||
`block_strategy` tinyint(4) NOT NULL DEFAULT 1 COMMENT '阻塞策略 1、丢弃 2、覆盖 3、并行',
|
||||
`cb_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '回调状态 0、不开启 1、开启',
|
||||
`cb_trigger_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '1、默认等级 2、固定间隔时间 3、CRON 表达式',
|
||||
`cb_max_count` int(11) NOT NULL DEFAULT 16 COMMENT '回调的最大执行次数',
|
||||
`cb_trigger_interval` varchar(16) NOT NULL DEFAULT '' COMMENT '回调的最大执行次数',
|
||||
`owner_id` bigint(20) NULL DEFAULT NULL COMMENT '负责人id',
|
||||
`labels` varchar(512) NULL DEFAULT '' COMMENT '标签',
|
||||
`description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`)
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 0
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='场景配置';
|
||||
|
||||
-- ### 服务器节点表
|
||||
CREATE TABLE `sj_server_node`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
|
||||
`group_name` varchar(64) NOT NULL COMMENT '组名称',
|
||||
`host_id` varchar(64) NOT NULL COMMENT '主机id',
|
||||
`host_ip` varchar(64) NOT NULL COMMENT '机器ip',
|
||||
`host_port` int(16) NOT NULL COMMENT '机器端口',
|
||||
`expire_at` datetime NOT NULL COMMENT '过期时间',
|
||||
`node_type` tinyint(4) NOT NULL COMMENT '节点类型 1、客户端 2、是服务端',
|
||||
`ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段',
|
||||
`labels` varchar(512) NULL DEFAULT '' COMMENT '标签',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`),
|
||||
KEY `idx_expire_at_node_type` (`expire_at`, `node_type`),
|
||||
UNIQUE KEY `uk_host_id_host_ip` (`host_id`, `host_ip`)
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 0
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='服务器节点';
|
||||
|
||||
-- ### 分布式锁表
|
||||
CREATE TABLE `sj_distributed_lock`
|
||||
(
|
||||
`name` varchar(64) NOT NULL COMMENT '锁名称',
|
||||
`lock_until` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '锁定时长',
|
||||
`locked_at` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '锁定时间',
|
||||
`locked_by` varchar(255) NOT NULL COMMENT '锁定者',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`name`)
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 0
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='锁定表';
|
||||
|
||||
-- ### 系统用户表
|
||||
CREATE TABLE `sj_system_user`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`username` varchar(64) NOT NULL COMMENT '账号',
|
||||
`password` varchar(128) NOT NULL COMMENT '密码',
|
||||
`role` tinyint(4) NOT NULL DEFAULT 0 COMMENT '角色:1-普通用户、2-管理员',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_username` (`username`) USING BTREE
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='系统用户表';
|
||||
|
||||
-- pwd: admin
|
||||
|
||||
-- ### 系统用户权限表
|
||||
CREATE TABLE `sj_system_user_permission`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`group_name` varchar(64) NOT NULL COMMENT '组名称',
|
||||
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
|
||||
`system_user_id` bigint(20) NOT NULL COMMENT '系统用户id',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_namespace_id_group_name_system_user_id` (`namespace_id`, `group_name`, `system_user_id`)
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='系统用户权限表';
|
||||
|
||||
-- ### 任务信息表
|
||||
CREATE TABLE `sj_job`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
|
||||
`biz_id` varchar(64) NOT NULL COMMENT '业务ID',
|
||||
`group_name` varchar(64) NOT NULL COMMENT '组名称',
|
||||
`job_name` varchar(64) NOT NULL COMMENT '名称',
|
||||
`args_str` text DEFAULT NULL COMMENT '执行方法参数',
|
||||
`args_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '参数类型 ',
|
||||
`next_trigger_at` bigint(13) NOT NULL COMMENT '下次触发时间',
|
||||
`job_status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '任务状态 0、关闭、1、开启',
|
||||
`task_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '任务类型 1、集群 2、广播 3、切片',
|
||||
`route_key` tinyint(4) NOT NULL DEFAULT 4 COMMENT '路由策略',
|
||||
`executor_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '执行器类型',
|
||||
`executor_info` varchar(255) DEFAULT NULL COMMENT '执行器名称',
|
||||
`trigger_type` tinyint(4) NOT NULL COMMENT '触发类型 1.CRON 表达式 2. 固定时间',
|
||||
`trigger_interval` varchar(255) NOT NULL COMMENT '间隔时长',
|
||||
`block_strategy` tinyint(4) NOT NULL DEFAULT 1 COMMENT '阻塞策略 1、丢弃 2、覆盖 3、并行 4、恢复',
|
||||
`executor_timeout` int(11) NOT NULL DEFAULT 0 COMMENT '任务执行超时时间,单位秒',
|
||||
`max_retry_times` int(11) NOT NULL DEFAULT 0 COMMENT '最大重试次数',
|
||||
`parallel_num` int(11) NOT NULL DEFAULT 1 COMMENT '并行数',
|
||||
`retry_interval` int(11) NOT NULL DEFAULT 0 COMMENT '重试间隔(s)',
|
||||
`bucket_index` int(11) NOT NULL DEFAULT 0 COMMENT 'bucket',
|
||||
`resident` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否是常驻任务',
|
||||
`notify_ids` varchar(128) NOT NULL DEFAULT '' COMMENT '通知告警场景配置id列表',
|
||||
`owner_id` bigint(20) NULL DEFAULT NULL COMMENT '负责人id',
|
||||
`labels` varchar(512) NULL DEFAULT '' COMMENT '标签',
|
||||
`description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述',
|
||||
`ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段',
|
||||
`deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 1、删除',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_sj_job_01` (`namespace_id`, `biz_id`),
|
||||
KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`),
|
||||
KEY `idx_job_status_bucket_index` (`job_status`, `bucket_index`),
|
||||
KEY `idx_create_dt` (`create_dt`)
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 0
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='任务信息';
|
||||
|
||||
|
||||
-- ### 任务日志表
|
||||
CREATE TABLE `sj_job_log_message`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
|
||||
`group_name` varchar(64) NOT NULL COMMENT '组名称',
|
||||
`job_id` bigint(20) NOT NULL COMMENT '任务信息id',
|
||||
`task_batch_id` bigint(20) NOT NULL COMMENT '任务批次id',
|
||||
`task_id` bigint(20) NOT NULL COMMENT '调度任务id',
|
||||
`message` longtext NOT NULL COMMENT '调度信息',
|
||||
`log_num` int(11) NOT NULL DEFAULT 1 COMMENT '日志数量',
|
||||
`real_time` bigint(13) NOT NULL DEFAULT 0 COMMENT '上报时间',
|
||||
`ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_task_batch_id_task_id` (`task_batch_id`, `task_id`),
|
||||
KEY `idx_create_dt` (`create_dt`),
|
||||
KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`)
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 0
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='调度日志';
|
||||
|
||||
-- ### 任务实例表
|
||||
CREATE TABLE `sj_job_task`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
|
||||
`group_name` varchar(64) NOT NULL COMMENT '组名称',
|
||||
`job_id` bigint(20) NOT NULL COMMENT '任务信息id',
|
||||
`task_batch_id` bigint(20) NOT NULL COMMENT '调度任务id',
|
||||
`parent_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '父执行器id',
|
||||
`task_status` tinyint NOT NULL DEFAULT 0 COMMENT '执行的状态 0、失败 1、成功',
|
||||
`retry_count` int(11) NOT NULL DEFAULT 0 COMMENT '重试次数',
|
||||
`mr_stage` tinyint DEFAULT NULL COMMENT '动态分片所处阶段 1:map 2:reduce 3:mergeReduce',
|
||||
`leaf` tinyint NOT NULL DEFAULT '1' COMMENT '叶子节点',
|
||||
`task_name` varchar(255) NOT NULL DEFAULT '' COMMENT '任务名称',
|
||||
`client_info` varchar(128) DEFAULT NULL COMMENT '客户端地址 clientId#ip:port',
|
||||
`wf_context` text DEFAULT NULL COMMENT '工作流全局上下文',
|
||||
`result_message` text NOT NULL COMMENT '执行结果',
|
||||
`args_str` text DEFAULT NULL COMMENT '执行方法参数',
|
||||
`args_type` tinyint NOT NULL DEFAULT 1 COMMENT '参数类型 ',
|
||||
`ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_task_batch_id_task_status` (`task_batch_id`, `task_status`),
|
||||
KEY `idx_create_dt` (`create_dt`),
|
||||
KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`)
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 0
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='任务实例';
|
||||
|
||||
-- ### 任务批次表
|
||||
CREATE TABLE `sj_job_task_batch`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
|
||||
`group_name` varchar(64) NOT NULL COMMENT '组名称',
|
||||
`job_id` bigint(20) NOT NULL COMMENT '任务id',
|
||||
`workflow_node_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '工作流节点id',
|
||||
`parent_workflow_node_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '工作流任务父批次id',
|
||||
`workflow_task_batch_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '工作流任务批次id',
|
||||
`task_batch_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '任务批次状态 0、失败 1、成功',
|
||||
`operation_reason` tinyint(4) NOT NULL DEFAULT 0 COMMENT '操作原因',
|
||||
`execution_at` bigint(13) NOT NULL DEFAULT 0 COMMENT '任务执行时间',
|
||||
`system_task_type` tinyint(4) NOT NULL DEFAULT 3 COMMENT '任务类型 3、JOB任务 4、WORKFLOW任务',
|
||||
`parent_id` varchar(64) NOT NULL DEFAULT '' COMMENT '父节点',
|
||||
`ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段',
|
||||
`deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 1、删除',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_job_id_task_batch_status` (`job_id`, `task_batch_status`),
|
||||
KEY `idx_create_dt` (`create_dt`),
|
||||
KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`),
|
||||
KEY `idx_workflow_task_batch_id_workflow_node_id` (`workflow_task_batch_id`, `workflow_node_id`)
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 0
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='任务批次';
|
||||
|
||||
-- ### 任务统计表
|
||||
CREATE TABLE `sj_job_summary`
|
||||
(
|
||||
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`namespace_id` VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
|
||||
`group_name` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '组名称',
|
||||
`business_id` bigint NOT NULL COMMENT '业务id (job_id或workflow_id)',
|
||||
`system_task_type` tinyint(4) NOT NULL DEFAULT 3 COMMENT '任务类型 3、JOB任务 4、WORKFLOW任务',
|
||||
`trigger_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '统计时间',
|
||||
`success_num` int NOT NULL DEFAULT 0 COMMENT '执行成功-日志数量',
|
||||
`fail_num` int NOT NULL DEFAULT 0 COMMENT '执行失败-日志数量',
|
||||
`fail_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因',
|
||||
`stop_num` int NOT NULL DEFAULT 0 COMMENT '执行失败-日志数量',
|
||||
`stop_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因',
|
||||
`cancel_num` int NOT NULL DEFAULT 0 COMMENT '执行失败-日志数量',
|
||||
`cancel_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_namespace_id_group_name_business_id` (`namespace_id`, `group_name`, business_id),
|
||||
UNIQUE KEY `uk_trigger_at_system_task_type_business_id` (`trigger_at`, `system_task_type`, `business_id`) USING BTREE
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 1
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='DashBoard_Job';
|
||||
|
||||
-- ### 重试统计表
|
||||
CREATE TABLE `sj_retry_summary`
|
||||
(
|
||||
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`namespace_id` VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
|
||||
`group_name` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '组名称',
|
||||
`scene_name` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '场景名称',
|
||||
`trigger_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '统计时间',
|
||||
`running_num` int NOT NULL DEFAULT 0 COMMENT '重试中-日志数量',
|
||||
`finish_num` int NOT NULL DEFAULT 0 COMMENT '重试完成-日志数量',
|
||||
`max_count_num` int NOT NULL DEFAULT 0 COMMENT '重试到达最大次数-日志数量',
|
||||
`suspend_num` int NOT NULL DEFAULT 0 COMMENT '暂停重试-日志数量',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_trigger_at` (`trigger_at`),
|
||||
UNIQUE KEY `uk_scene_name_trigger_at` (`namespace_id`, `group_name`, `scene_name`, `trigger_at`) USING BTREE
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 1
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='DashBoard_Retry';
|
||||
|
||||
-- ### 工作流表
|
||||
CREATE TABLE `sj_workflow`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`workflow_name` varchar(64) NOT NULL COMMENT '工作流名称',
|
||||
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
|
||||
`biz_id` varchar(64) NOT NULL COMMENT '业务ID',
|
||||
`group_name` varchar(64) NOT NULL COMMENT '组名称',
|
||||
`workflow_status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '工作流状态 0、关闭、1、开启',
|
||||
`trigger_type` tinyint(4) NOT NULL COMMENT '触发类型 1.CRON 表达式 2. 固定时间',
|
||||
`trigger_interval` varchar(255) NOT NULL COMMENT '间隔时长',
|
||||
`next_trigger_at` bigint NOT NULL COMMENT '下次触发时间',
|
||||
`block_strategy` tinyint(4) NOT NULL DEFAULT 1 COMMENT '阻塞策略 1、丢弃 2、覆盖 3、并行',
|
||||
`executor_timeout` int(11) NOT NULL DEFAULT 0 COMMENT '任务执行超时时间,单位秒',
|
||||
`description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述',
|
||||
`flow_info` text DEFAULT NULL COMMENT '流程信息',
|
||||
`wf_context` text DEFAULT NULL COMMENT '上下文',
|
||||
`notify_ids` varchar(128) NOT NULL DEFAULT '' COMMENT '通知告警场景配置id列表',
|
||||
`bucket_index` int(11) NOT NULL DEFAULT 0 COMMENT 'bucket',
|
||||
`version` int(11) NOT NULL COMMENT '版本号',
|
||||
`owner_id` bigint(20) NULL DEFAULT NULL COMMENT '负责人id',
|
||||
`ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段',
|
||||
`deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 1、删除',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_sj_workflow_01` (`namespace_id`, `biz_id`),
|
||||
KEY `idx_create_dt` (`create_dt`),
|
||||
KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`)
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 0
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='工作流';
|
||||
|
||||
-- ### 工作流节点表
|
||||
CREATE TABLE `sj_workflow_node`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
|
||||
`node_name` varchar(64) NOT NULL COMMENT '节点名称',
|
||||
`group_name` varchar(64) NOT NULL COMMENT '组名称',
|
||||
`job_id` bigint(20) NOT NULL COMMENT '任务信息id',
|
||||
`workflow_id` bigint(20) NOT NULL COMMENT '工作流ID',
|
||||
`node_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '1、任务节点 2、条件节点',
|
||||
`expression_type` tinyint(4) NOT NULL DEFAULT 0 COMMENT '1、SpEl、2、Aviator 3、QL',
|
||||
`fail_strategy` tinyint(4) NOT NULL DEFAULT 1 COMMENT '失败策略 1、跳过 2、阻塞',
|
||||
`workflow_node_status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '工作流节点状态 0、关闭、1、开启',
|
||||
`priority_level` int(11) NOT NULL DEFAULT 1 COMMENT '优先级',
|
||||
`node_info` text DEFAULT NULL COMMENT '节点信息 ',
|
||||
`version` int(11) NOT NULL COMMENT '版本号',
|
||||
`ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段',
|
||||
`deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 1、删除',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_create_dt` (`create_dt`),
|
||||
KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`)
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 0
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='工作流节点';
|
||||
|
||||
-- ### 工作流任务批次表
|
||||
CREATE TABLE `sj_workflow_task_batch`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
|
||||
`group_name` varchar(64) NOT NULL COMMENT '组名称',
|
||||
`workflow_id` bigint(20) NOT NULL COMMENT '工作流任务id',
|
||||
`task_batch_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '任务批次状态 0、失败 1、成功',
|
||||
`operation_reason` tinyint(4) NOT NULL DEFAULT 0 COMMENT '操作原因',
|
||||
`flow_info` text DEFAULT NULL COMMENT '流程信息',
|
||||
`wf_context` text DEFAULT NULL COMMENT '全局上下文',
|
||||
`execution_at` bigint(13) NOT NULL DEFAULT 0 COMMENT '任务执行时间',
|
||||
`ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段',
|
||||
`version` int(11) NOT NULL DEFAULT 1 COMMENT '版本号',
|
||||
`deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 1、删除',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_job_id_task_batch_status` (`workflow_id`, `task_batch_status`),
|
||||
KEY `idx_create_dt` (`create_dt`),
|
||||
KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`)
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 0
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='工作流批次';
|
||||
|
||||
-- ### 任务执行器表
|
||||
CREATE TABLE `sj_job_executor`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
|
||||
`group_name` varchar(64) NOT NULL COMMENT '组名称',
|
||||
`executor_info` varchar(256) NOT NULL COMMENT '任务执行器名称',
|
||||
`executor_type` varchar(3) NOT NULL COMMENT '1:java 2:python 3:go',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`),
|
||||
KEY `idx_create_dt` (`create_dt`)
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 0
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='任务执行器信息';
|
||||
@@ -0,0 +1,13 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset seewis:job-postgresql-data-baseline dbms:postgresql splitStatements:false
|
||||
INSERT INTO sj_namespace VALUES (1, 'Development', 'dev', '', 0, now(), now());
|
||||
|
||||
INSERT INTO sj_namespace VALUES (2, 'Production', 'prod', '', 0, now(), now());
|
||||
|
||||
INSERT INTO sj_group_config VALUES (1, 'dev', 'ruoyi_group', '', 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, now(), now());
|
||||
|
||||
INSERT INTO sj_group_config VALUES (2, 'prod', 'ruoyi_group', '', 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, now(), now());
|
||||
|
||||
INSERT INTO sj_system_user (username, password, role)
|
||||
VALUES ('admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2);
|
||||
@@ -0,0 +1,865 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset seewis:job-postgresql-table-baseline dbms:postgresql splitStatements:false
|
||||
-- ### 命名空间表
|
||||
CREATE TABLE sj_namespace
|
||||
(
|
||||
id bigserial PRIMARY KEY,
|
||||
name varchar(64) NOT NULL,
|
||||
unique_id varchar(64) NOT NULL,
|
||||
description varchar(256) NOT NULL DEFAULT '',
|
||||
deleted smallint NOT NULL DEFAULT 0,
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE INDEX idx_sj_namespace_01 ON sj_namespace (name);
|
||||
|
||||
COMMENT ON COLUMN sj_namespace.id IS '主键';
|
||||
COMMENT ON COLUMN sj_namespace.name IS '名称';
|
||||
COMMENT ON COLUMN sj_namespace.unique_id IS '唯一id';
|
||||
COMMENT ON COLUMN sj_namespace.description IS '描述';
|
||||
COMMENT ON COLUMN sj_namespace.deleted IS '逻辑删除 1、删除';
|
||||
COMMENT ON COLUMN sj_namespace.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sj_namespace.update_dt IS '修改时间';
|
||||
COMMENT ON TABLE sj_namespace IS '命名空间';
|
||||
|
||||
|
||||
-- ### 组配置表
|
||||
CREATE TABLE sj_group_config
|
||||
(
|
||||
id bigserial PRIMARY KEY,
|
||||
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
group_name varchar(64) NOT NULL DEFAULT '',
|
||||
description varchar(256) NOT NULL DEFAULT '',
|
||||
token varchar(64) NOT NULL DEFAULT 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT',
|
||||
group_status smallint NOT NULL DEFAULT 0,
|
||||
version int NOT NULL,
|
||||
group_partition int NOT NULL,
|
||||
id_generator_mode smallint NOT NULL DEFAULT 1,
|
||||
init_scene smallint NOT NULL DEFAULT 0,
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX uk_sj_group_config_01 ON sj_group_config (namespace_id, group_name);
|
||||
|
||||
COMMENT ON COLUMN sj_group_config.id IS '主键';
|
||||
COMMENT ON COLUMN sj_group_config.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN sj_group_config.group_name IS '组名称';
|
||||
COMMENT ON COLUMN sj_group_config.description IS '组描述';
|
||||
COMMENT ON COLUMN sj_group_config.token IS 'token';
|
||||
COMMENT ON COLUMN sj_group_config.group_status IS '组状态 0、未启用 1、启用';
|
||||
COMMENT ON COLUMN sj_group_config.version IS '版本号';
|
||||
COMMENT ON COLUMN sj_group_config.group_partition IS '分区';
|
||||
COMMENT ON COLUMN sj_group_config.id_generator_mode IS '唯一id生成模式 默认号段模式';
|
||||
COMMENT ON COLUMN sj_group_config.init_scene IS '是否初始化场景 0:否 1:是';
|
||||
COMMENT ON COLUMN sj_group_config.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sj_group_config.update_dt IS '修改时间';
|
||||
COMMENT ON TABLE sj_group_config IS '组配置';
|
||||
|
||||
|
||||
-- ### 通知配置表
|
||||
CREATE TABLE sj_notify_config
|
||||
(
|
||||
id bigserial PRIMARY KEY,
|
||||
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
group_name varchar(64) NOT NULL,
|
||||
notify_name varchar(64) NOT NULL DEFAULT '',
|
||||
system_task_type smallint NOT NULL DEFAULT 3,
|
||||
notify_status smallint NOT NULL DEFAULT 0,
|
||||
recipient_ids varchar(128) NOT NULL,
|
||||
notify_threshold int NOT NULL DEFAULT 0,
|
||||
notify_scene smallint NOT NULL DEFAULT 0,
|
||||
rate_limiter_status smallint NOT NULL DEFAULT 0,
|
||||
rate_limiter_threshold int NOT NULL DEFAULT 0,
|
||||
description varchar(256) NOT NULL DEFAULT '',
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE INDEX idx_sj_notify_config_01 ON sj_notify_config (namespace_id, group_name);
|
||||
|
||||
COMMENT ON COLUMN sj_notify_config.id IS '主键';
|
||||
COMMENT ON COLUMN sj_notify_config.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN sj_notify_config.group_name IS '组名称';
|
||||
COMMENT ON COLUMN sj_notify_config.notify_name IS '通知名称';
|
||||
COMMENT ON COLUMN sj_notify_config.system_task_type IS '任务类型 1. 重试任务 2. 重试回调 3、JOB任务 4、WORKFLOW任务';
|
||||
COMMENT ON COLUMN sj_notify_config.notify_status IS '通知状态 0、未启用 1、启用';
|
||||
COMMENT ON COLUMN sj_notify_config.recipient_ids IS '接收人id列表';
|
||||
COMMENT ON COLUMN sj_notify_config.notify_threshold IS '通知阈值';
|
||||
COMMENT ON COLUMN sj_notify_config.notify_scene IS '通知场景';
|
||||
COMMENT ON COLUMN sj_notify_config.rate_limiter_status IS '限流状态 0、未启用 1、启用';
|
||||
COMMENT ON COLUMN sj_notify_config.rate_limiter_threshold IS '每秒限流阈值';
|
||||
COMMENT ON COLUMN sj_notify_config.description IS '描述';
|
||||
COMMENT ON COLUMN sj_notify_config.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sj_notify_config.update_dt IS '修改时间';
|
||||
COMMENT ON TABLE sj_notify_config IS '通知配置';
|
||||
|
||||
-- ### 告警通知接收人表
|
||||
CREATE TABLE sj_notify_recipient
|
||||
(
|
||||
id bigserial PRIMARY KEY,
|
||||
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
recipient_name varchar(64) NOT NULL,
|
||||
notify_type smallint NOT NULL DEFAULT 0,
|
||||
notify_attribute varchar(512) NOT NULL,
|
||||
description varchar(256) NOT NULL DEFAULT '',
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE INDEX idx_sj_notify_recipient_01 ON sj_notify_recipient (namespace_id);
|
||||
|
||||
COMMENT ON COLUMN sj_notify_recipient.id IS '主键';
|
||||
COMMENT ON COLUMN sj_notify_recipient.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN sj_notify_recipient.recipient_name IS '接收人名称';
|
||||
COMMENT ON COLUMN sj_notify_recipient.notify_type IS '通知类型 1、钉钉 2、邮件 3、企业微信 4 飞书 5 webhook';
|
||||
COMMENT ON COLUMN sj_notify_recipient.notify_attribute IS '配置属性';
|
||||
COMMENT ON COLUMN sj_notify_recipient.description IS '描述';
|
||||
COMMENT ON COLUMN sj_notify_recipient.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sj_notify_recipient.update_dt IS '修改时间';
|
||||
COMMENT ON TABLE sj_notify_recipient IS '告警通知接收人';
|
||||
|
||||
-- ### 重试死信表
|
||||
CREATE TABLE sj_retry_dead_letter
|
||||
(
|
||||
id bigserial PRIMARY KEY,
|
||||
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
group_name varchar(64) NOT NULL,
|
||||
group_id bigint NOT NULL,
|
||||
scene_name varchar(64) NOT NULL,
|
||||
scene_id bigint NOT NULL,
|
||||
idempotent_id varchar(64) NOT NULL,
|
||||
biz_no varchar(64) NOT NULL DEFAULT '',
|
||||
executor_name varchar(512) NOT NULL DEFAULT '',
|
||||
serializer_name varchar(32) NOT NULL DEFAULT 'jackson',
|
||||
args_str text NOT NULL,
|
||||
ext_attrs text NOT NULL,
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE INDEX idx_sj_retry_dead_letter_01 ON sj_retry_dead_letter (namespace_id, group_name, scene_name);
|
||||
CREATE INDEX idx_sj_retry_dead_letter_02 ON sj_retry_dead_letter (idempotent_id);
|
||||
CREATE INDEX idx_sj_retry_dead_letter_03 ON sj_retry_dead_letter (biz_no);
|
||||
CREATE INDEX idx_sj_retry_dead_letter_04 ON sj_retry_dead_letter (create_dt);
|
||||
|
||||
COMMENT ON COLUMN sj_retry_dead_letter.id IS '主键';
|
||||
COMMENT ON COLUMN sj_retry_dead_letter.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN sj_retry_dead_letter.group_name IS '组名称';
|
||||
COMMENT ON COLUMN sj_retry_dead_letter.group_id IS '组Id';
|
||||
COMMENT ON COLUMN sj_retry_dead_letter.scene_name IS '场景名称';
|
||||
COMMENT ON COLUMN sj_retry_dead_letter.scene_id IS '场景ID';
|
||||
COMMENT ON COLUMN sj_retry_dead_letter.idempotent_id IS '幂等id';
|
||||
COMMENT ON COLUMN sj_retry_dead_letter.biz_no IS '业务编号';
|
||||
COMMENT ON COLUMN sj_retry_dead_letter.executor_name IS '执行器名称';
|
||||
COMMENT ON COLUMN sj_retry_dead_letter.serializer_name IS '执行方法参数序列化器名称';
|
||||
COMMENT ON COLUMN sj_retry_dead_letter.args_str IS '执行方法参数';
|
||||
COMMENT ON COLUMN sj_retry_dead_letter.ext_attrs IS '扩展字段';
|
||||
COMMENT ON COLUMN sj_retry_dead_letter.create_dt IS '创建时间';
|
||||
COMMENT ON TABLE sj_retry_dead_letter IS '死信队列表';
|
||||
|
||||
-- ### 重试信息表
|
||||
CREATE TABLE sj_retry
|
||||
(
|
||||
id bigserial PRIMARY KEY,
|
||||
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
group_name varchar(64) NOT NULL,
|
||||
group_id bigint NOT NULL,
|
||||
scene_name varchar(64) NOT NULL,
|
||||
scene_id bigint NOT NULL,
|
||||
idempotent_id varchar(64) NOT NULL,
|
||||
biz_no varchar(64) NOT NULL DEFAULT '',
|
||||
executor_name varchar(512) NOT NULL DEFAULT '',
|
||||
args_str text NOT NULL,
|
||||
ext_attrs text NOT NULL,
|
||||
serializer_name varchar(32) NOT NULL DEFAULT 'jackson',
|
||||
next_trigger_at bigint NOT NULL,
|
||||
retry_count int NOT NULL DEFAULT 0,
|
||||
retry_status smallint NOT NULL DEFAULT 0,
|
||||
task_type smallint NOT NULL DEFAULT 1,
|
||||
bucket_index int NOT NULL DEFAULT 0,
|
||||
parent_id bigint NOT NULL DEFAULT 0,
|
||||
deleted bigint NOT NULL DEFAULT 0,
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX uk_sj_retry_01 ON sj_retry (scene_id, task_type, idempotent_id, deleted);
|
||||
|
||||
CREATE INDEX idx_sj_retry_01 ON sj_retry (biz_no);
|
||||
CREATE INDEX idx_sj_retry_02 ON sj_retry (idempotent_id);
|
||||
CREATE INDEX idx_sj_retry_03 ON sj_retry (retry_status, bucket_index);
|
||||
CREATE INDEX idx_sj_retry_04 ON sj_retry (parent_id);
|
||||
CREATE INDEX idx_sj_retry_05 ON sj_retry (create_dt);
|
||||
|
||||
COMMENT ON COLUMN sj_retry.id IS '主键';
|
||||
COMMENT ON COLUMN sj_retry.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN sj_retry.group_name IS '组名称';
|
||||
COMMENT ON COLUMN sj_retry.group_id IS '组Id';
|
||||
COMMENT ON COLUMN sj_retry.scene_name IS '场景名称';
|
||||
COMMENT ON COLUMN sj_retry.scene_id IS '场景ID';
|
||||
COMMENT ON COLUMN sj_retry.idempotent_id IS '幂等id';
|
||||
COMMENT ON COLUMN sj_retry.biz_no IS '业务编号';
|
||||
COMMENT ON COLUMN sj_retry.executor_name IS '执行器名称';
|
||||
COMMENT ON COLUMN sj_retry.args_str IS '执行方法参数';
|
||||
COMMENT ON COLUMN sj_retry.ext_attrs IS '扩展字段';
|
||||
COMMENT ON COLUMN sj_retry.serializer_name IS '执行方法参数序列化器名称';
|
||||
COMMENT ON COLUMN sj_retry.next_trigger_at IS '下次触发时间';
|
||||
COMMENT ON COLUMN sj_retry.retry_count IS '重试次数';
|
||||
COMMENT ON COLUMN sj_retry.retry_status IS '重试状态 0、重试中 1、成功 2、最大重试次数';
|
||||
COMMENT ON COLUMN sj_retry.task_type IS '任务类型 1、重试数据 2、回调数据';
|
||||
COMMENT ON COLUMN sj_retry.bucket_index IS 'bucket';
|
||||
COMMENT ON COLUMN sj_retry.parent_id IS '父节点id';
|
||||
COMMENT ON COLUMN sj_retry.deleted IS '逻辑删除';
|
||||
COMMENT ON COLUMN sj_retry.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sj_retry.update_dt IS '修改时间';
|
||||
COMMENT ON TABLE sj_retry IS '重试信息表';
|
||||
|
||||
-- ### 重试任务表
|
||||
CREATE TABLE sj_retry_task
|
||||
(
|
||||
id bigserial PRIMARY KEY,
|
||||
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
group_name varchar(64) NOT NULL,
|
||||
scene_name varchar(64) NOT NULL,
|
||||
retry_id bigint NOT NULL,
|
||||
ext_attrs text NOT NULL,
|
||||
task_status smallint NOT NULL DEFAULT 1,
|
||||
task_type smallint NOT NULL DEFAULT 1,
|
||||
operation_reason smallint NOT NULL DEFAULT 0,
|
||||
client_info varchar(128) NULL DEFAULT NULL,
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE INDEX idx_sj_retry_task_01 ON sj_retry_task (namespace_id, group_name, scene_name);
|
||||
CREATE INDEX idx_sj_retry_task_02 ON sj_retry_task (task_status);
|
||||
CREATE INDEX idx_sj_retry_task_03 ON sj_retry_task (create_dt);
|
||||
CREATE INDEX idx_sj_retry_task_04 ON sj_retry_task (retry_id);
|
||||
|
||||
COMMENT ON COLUMN sj_retry_task.id IS '主键';
|
||||
COMMENT ON COLUMN sj_retry_task.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN sj_retry_task.group_name IS '组名称';
|
||||
COMMENT ON COLUMN sj_retry_task.scene_name IS '场景名称';
|
||||
COMMENT ON COLUMN sj_retry_task.retry_id IS '重试信息Id';
|
||||
COMMENT ON COLUMN sj_retry_task.ext_attrs IS '扩展字段';
|
||||
COMMENT ON COLUMN sj_retry_task.task_status IS '重试状态';
|
||||
COMMENT ON COLUMN sj_retry_task.task_type IS '任务类型 1、重试数据 2、回调数据';
|
||||
COMMENT ON COLUMN sj_retry_task.operation_reason IS '操作原因';
|
||||
COMMENT ON COLUMN sj_retry_task.client_info IS '客户端地址 clientId#ip:port';
|
||||
COMMENT ON COLUMN sj_retry_task.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sj_retry_task.update_dt IS '修改时间';
|
||||
COMMENT ON TABLE sj_retry_task IS '重试任务表';
|
||||
|
||||
-- ### 重试任务日志消息表
|
||||
CREATE TABLE sj_retry_task_log_message
|
||||
(
|
||||
id bigserial PRIMARY KEY,
|
||||
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
group_name varchar(64) NOT NULL,
|
||||
retry_id bigint NOT NULL,
|
||||
retry_task_id bigint NOT NULL,
|
||||
message text NOT NULL,
|
||||
log_num int NOT NULL DEFAULT 1,
|
||||
real_time bigint NOT NULL DEFAULT 0,
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE INDEX idx_sj_retry_task_log_message_01 ON sj_retry_task_log_message (namespace_id, group_name, retry_task_id);
|
||||
CREATE INDEX idx_sj_retry_task_log_message_02 ON sj_retry_task_log_message (create_dt);
|
||||
|
||||
COMMENT ON COLUMN sj_retry_task_log_message.id IS '主键';
|
||||
COMMENT ON COLUMN sj_retry_task_log_message.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN sj_retry_task_log_message.group_name IS '组名称';
|
||||
COMMENT ON COLUMN sj_retry_task_log_message.retry_id IS '重试信息Id';
|
||||
COMMENT ON COLUMN sj_retry_task_log_message.retry_task_id IS '重试任务Id';
|
||||
COMMENT ON COLUMN sj_retry_task_log_message.message IS '异常信息';
|
||||
COMMENT ON COLUMN sj_retry_task_log_message.log_num IS '日志数量';
|
||||
COMMENT ON COLUMN sj_retry_task_log_message.real_time IS '上报时间';
|
||||
COMMENT ON COLUMN sj_retry_task_log_message.create_dt IS '创建时间';
|
||||
COMMENT ON TABLE sj_retry_task_log_message IS '任务调度日志信息记录表';
|
||||
|
||||
-- ### 重试场景配置表
|
||||
CREATE TABLE sj_retry_scene_config
|
||||
(
|
||||
id bigserial PRIMARY KEY,
|
||||
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
scene_name varchar(64) NOT NULL,
|
||||
group_name varchar(64) NOT NULL,
|
||||
scene_status smallint NOT NULL DEFAULT 0,
|
||||
max_retry_count int NOT NULL DEFAULT 5,
|
||||
back_off smallint NOT NULL DEFAULT 1,
|
||||
trigger_interval varchar(16) NOT NULL DEFAULT '',
|
||||
notify_ids varchar(128) NOT NULL DEFAULT '',
|
||||
deadline_request bigint NOT NULL DEFAULT 60000,
|
||||
executor_timeout int NOT NULL DEFAULT 5,
|
||||
route_key smallint NOT NULL DEFAULT 4,
|
||||
block_strategy smallint NOT NULL DEFAULT 1,
|
||||
cb_status smallint NOT NULL DEFAULT 0,
|
||||
cb_trigger_type smallint NOT NULL DEFAULT 1,
|
||||
cb_max_count int NOT NULL DEFAULT 16,
|
||||
cb_trigger_interval varchar(16) NOT NULL DEFAULT '',
|
||||
owner_id bigint NULL DEFAULT NULL,
|
||||
labels varchar(512) NULL DEFAULT '',
|
||||
description varchar(256) NOT NULL DEFAULT '',
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX uk_sj_retry_scene_config_01 ON sj_retry_scene_config (namespace_id, group_name, scene_name);
|
||||
|
||||
COMMENT ON COLUMN sj_retry_scene_config.id IS '主键';
|
||||
COMMENT ON COLUMN sj_retry_scene_config.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN sj_retry_scene_config.scene_name IS '场景名称';
|
||||
COMMENT ON COLUMN sj_retry_scene_config.group_name IS '组名称';
|
||||
COMMENT ON COLUMN sj_retry_scene_config.scene_status IS '组状态 0、未启用 1、启用';
|
||||
COMMENT ON COLUMN sj_retry_scene_config.max_retry_count IS '最大重试次数';
|
||||
COMMENT ON COLUMN sj_retry_scene_config.back_off IS '1、默认等级 2、固定间隔时间 3、CRON 表达式';
|
||||
COMMENT ON COLUMN sj_retry_scene_config.trigger_interval IS '间隔时长';
|
||||
COMMENT ON COLUMN sj_retry_scene_config.notify_ids IS '通知告警场景配置id列表';
|
||||
COMMENT ON COLUMN sj_retry_scene_config.deadline_request IS 'Deadline Request 调用链超时 单位毫秒';
|
||||
COMMENT ON COLUMN sj_retry_scene_config.executor_timeout IS '任务执行超时时间,单位秒';
|
||||
COMMENT ON COLUMN sj_retry_scene_config.route_key IS '路由策略';
|
||||
COMMENT ON COLUMN sj_retry_scene_config.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行';
|
||||
COMMENT ON COLUMN sj_retry_scene_config.cb_status IS '回调状态 0、不开启 1、开启';
|
||||
COMMENT ON COLUMN sj_retry_scene_config.cb_trigger_type IS '1、默认等级 2、固定间隔时间 3、CRON 表达式';
|
||||
COMMENT ON COLUMN sj_retry_scene_config.cb_max_count IS '回调的最大执行次数';
|
||||
COMMENT ON COLUMN sj_retry_scene_config.cb_trigger_interval IS '回调的最大执行次数';
|
||||
COMMENT ON COLUMN sj_retry_scene_config.owner_id IS '负责人id';
|
||||
COMMENT ON COLUMN sj_retry_scene_config.labels IS '标签';
|
||||
COMMENT ON COLUMN sj_retry_scene_config.description IS '描述';
|
||||
COMMENT ON COLUMN sj_retry_scene_config.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sj_retry_scene_config.update_dt IS '修改时间';
|
||||
COMMENT ON TABLE sj_retry_scene_config IS '场景配置';
|
||||
|
||||
-- ### 服务器节点表
|
||||
CREATE TABLE sj_server_node
|
||||
(
|
||||
id bigserial PRIMARY KEY,
|
||||
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
group_name varchar(64) NOT NULL,
|
||||
host_id varchar(64) NOT NULL,
|
||||
host_ip varchar(64) NOT NULL,
|
||||
host_port int NOT NULL,
|
||||
expire_at timestamp NOT NULL,
|
||||
node_type smallint NOT NULL,
|
||||
ext_attrs varchar(256) NULL DEFAULT '',
|
||||
labels varchar(512) NULL DEFAULT '',
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX uk_sj_server_node_01 ON sj_server_node (host_id, host_ip);
|
||||
|
||||
CREATE INDEX idx_sj_server_node_01 ON sj_server_node (namespace_id, group_name);
|
||||
CREATE INDEX idx_sj_server_node_02 ON sj_server_node (expire_at, node_type);
|
||||
|
||||
COMMENT ON COLUMN sj_server_node.id IS '主键';
|
||||
COMMENT ON COLUMN sj_server_node.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN sj_server_node.group_name IS '组名称';
|
||||
COMMENT ON COLUMN sj_server_node.host_id IS '主机id';
|
||||
COMMENT ON COLUMN sj_server_node.host_ip IS '机器ip';
|
||||
COMMENT ON COLUMN sj_server_node.host_port IS '机器端口';
|
||||
COMMENT ON COLUMN sj_server_node.expire_at IS '过期时间';
|
||||
COMMENT ON COLUMN sj_server_node.node_type IS '节点类型 1、客户端 2、是服务端';
|
||||
COMMENT ON COLUMN sj_server_node.ext_attrs IS '扩展字段';
|
||||
COMMENT ON COLUMN sj_server_node.labels IS '标签';
|
||||
COMMENT ON COLUMN sj_server_node.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sj_server_node.update_dt IS '修改时间';
|
||||
COMMENT ON TABLE sj_server_node IS '服务器节点';
|
||||
|
||||
-- ### 分布式锁表
|
||||
CREATE TABLE sj_distributed_lock
|
||||
(
|
||||
name varchar(64) NOT NULL PRIMARY KEY,
|
||||
lock_until timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
locked_at timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
locked_by varchar(255) NOT NULL,
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
COMMENT ON COLUMN sj_distributed_lock.name IS '锁名称';
|
||||
COMMENT ON COLUMN sj_distributed_lock.lock_until IS '锁定时长';
|
||||
COMMENT ON COLUMN sj_distributed_lock.locked_at IS '锁定时间';
|
||||
COMMENT ON COLUMN sj_distributed_lock.locked_by IS '锁定者';
|
||||
COMMENT ON COLUMN sj_distributed_lock.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sj_distributed_lock.update_dt IS '修改时间';
|
||||
COMMENT ON TABLE sj_distributed_lock IS '锁定表';
|
||||
|
||||
-- ### 系统用户表
|
||||
CREATE TABLE sj_system_user
|
||||
(
|
||||
id bigserial PRIMARY KEY,
|
||||
username varchar(64) NOT NULL,
|
||||
password varchar(128) NOT NULL,
|
||||
role smallint NOT NULL DEFAULT 0,
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
COMMENT ON COLUMN sj_system_user.id IS '主键';
|
||||
COMMENT ON COLUMN sj_system_user.username IS '账号';
|
||||
COMMENT ON COLUMN sj_system_user.password IS '密码';
|
||||
COMMENT ON COLUMN sj_system_user.role IS '角色:1-普通用户、2-管理员';
|
||||
COMMENT ON COLUMN sj_system_user.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sj_system_user.update_dt IS '修改时间';
|
||||
COMMENT ON TABLE sj_system_user IS '系统用户表';
|
||||
|
||||
|
||||
-- ### 系统用户权限表
|
||||
CREATE TABLE sj_system_user_permission
|
||||
(
|
||||
id bigserial PRIMARY KEY,
|
||||
group_name varchar(64) NOT NULL,
|
||||
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
system_user_id bigint NOT NULL,
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX uk_sj_system_user_permission_01 ON sj_system_user_permission (namespace_id, group_name, system_user_id);
|
||||
|
||||
COMMENT ON COLUMN sj_system_user_permission.id IS '主键';
|
||||
COMMENT ON COLUMN sj_system_user_permission.group_name IS '组名称';
|
||||
COMMENT ON COLUMN sj_system_user_permission.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN sj_system_user_permission.system_user_id IS '系统用户id';
|
||||
COMMENT ON COLUMN sj_system_user_permission.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sj_system_user_permission.update_dt IS '修改时间';
|
||||
COMMENT ON TABLE sj_system_user_permission IS '系统用户权限表';
|
||||
|
||||
-- ### 任务信息表
|
||||
CREATE TABLE sj_job
|
||||
(
|
||||
id bigserial PRIMARY KEY,
|
||||
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
biz_id varchar(64) NOT NULL,
|
||||
group_name varchar(64) NOT NULL,
|
||||
job_name varchar(64) NOT NULL,
|
||||
args_str text NULL DEFAULT NULL,
|
||||
args_type smallint NOT NULL DEFAULT 1,
|
||||
next_trigger_at bigint NOT NULL,
|
||||
job_status smallint NOT NULL DEFAULT 1,
|
||||
task_type smallint NOT NULL DEFAULT 1,
|
||||
route_key smallint NOT NULL DEFAULT 4,
|
||||
executor_type smallint NOT NULL DEFAULT 1,
|
||||
executor_info varchar(255) NULL DEFAULT NULL,
|
||||
trigger_type smallint NOT NULL,
|
||||
trigger_interval varchar(255) NOT NULL,
|
||||
block_strategy smallint NOT NULL DEFAULT 1,
|
||||
executor_timeout int NOT NULL DEFAULT 0,
|
||||
max_retry_times int NOT NULL DEFAULT 0,
|
||||
parallel_num int NOT NULL DEFAULT 1,
|
||||
retry_interval int NOT NULL DEFAULT 0,
|
||||
bucket_index int NOT NULL DEFAULT 0,
|
||||
resident smallint NOT NULL DEFAULT 0,
|
||||
notify_ids varchar(128) NOT NULL DEFAULT '',
|
||||
owner_id bigint NULL DEFAULT NULL,
|
||||
labels varchar(512) NULL DEFAULT '',
|
||||
description varchar(256) NOT NULL DEFAULT '',
|
||||
ext_attrs varchar(256) NULL DEFAULT '',
|
||||
deleted smallint NOT NULL DEFAULT 0,
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX uk_sj_job_01 ON sj_job (namespace_id, biz_id);
|
||||
CREATE INDEX idx_sj_job_01 ON sj_job (namespace_id, group_name);
|
||||
CREATE INDEX idx_sj_job_02 ON sj_job (job_status, bucket_index);
|
||||
CREATE INDEX idx_sj_job_03 ON sj_job (create_dt);
|
||||
|
||||
COMMENT ON COLUMN sj_job.id IS '主键';
|
||||
COMMENT ON COLUMN sj_job.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN sj_job.biz_id IS '业务ID';
|
||||
COMMENT ON COLUMN sj_job.group_name IS '组名称';
|
||||
COMMENT ON COLUMN sj_job.job_name IS '名称';
|
||||
COMMENT ON COLUMN sj_job.args_str IS '执行方法参数';
|
||||
COMMENT ON COLUMN sj_job.args_type IS '参数类型 ';
|
||||
COMMENT ON COLUMN sj_job.next_trigger_at IS '下次触发时间';
|
||||
COMMENT ON COLUMN sj_job.job_status IS '任务状态 0、关闭、1、开启';
|
||||
COMMENT ON COLUMN sj_job.task_type IS '任务类型 1、集群 2、广播 3、切片';
|
||||
COMMENT ON COLUMN sj_job.route_key IS '路由策略';
|
||||
COMMENT ON COLUMN sj_job.executor_type IS '执行器类型';
|
||||
COMMENT ON COLUMN sj_job.executor_info IS '执行器名称';
|
||||
COMMENT ON COLUMN sj_job.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间';
|
||||
COMMENT ON COLUMN sj_job.trigger_interval IS '间隔时长';
|
||||
COMMENT ON COLUMN sj_job.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行 4、恢复';
|
||||
COMMENT ON COLUMN sj_job.executor_timeout IS '任务执行超时时间,单位秒';
|
||||
COMMENT ON COLUMN sj_job.max_retry_times IS '最大重试次数';
|
||||
COMMENT ON COLUMN sj_job.parallel_num IS '并行数';
|
||||
COMMENT ON COLUMN sj_job.retry_interval IS '重试间隔 ( s)';
|
||||
COMMENT ON COLUMN sj_job.bucket_index IS 'bucket';
|
||||
COMMENT ON COLUMN sj_job.resident IS '是否是常驻任务';
|
||||
COMMENT ON COLUMN sj_job.notify_ids IS '通知告警场景配置id列表';
|
||||
COMMENT ON COLUMN sj_job.owner_id IS '负责人id';
|
||||
COMMENT ON COLUMN sj_job.labels IS '标签';
|
||||
COMMENT ON COLUMN sj_job.description IS '描述';
|
||||
COMMENT ON COLUMN sj_job.ext_attrs IS '扩展字段';
|
||||
COMMENT ON COLUMN sj_job.deleted IS '逻辑删除 1、删除';
|
||||
COMMENT ON COLUMN sj_job.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sj_job.update_dt IS '修改时间';
|
||||
COMMENT ON TABLE sj_job IS '任务信息';
|
||||
|
||||
|
||||
-- ### 任务日志表
|
||||
CREATE TABLE sj_job_log_message
|
||||
(
|
||||
id bigserial PRIMARY KEY,
|
||||
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
group_name varchar(64) NOT NULL,
|
||||
job_id bigint NOT NULL,
|
||||
task_batch_id bigint NOT NULL,
|
||||
task_id bigint NOT NULL,
|
||||
message text NOT NULL,
|
||||
log_num int NOT NULL DEFAULT 1,
|
||||
real_time bigint NOT NULL DEFAULT 0,
|
||||
ext_attrs varchar(256) NULL DEFAULT '',
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE INDEX idx_sj_job_log_message_01 ON sj_job_log_message (task_batch_id, task_id);
|
||||
CREATE INDEX idx_sj_job_log_message_02 ON sj_job_log_message (create_dt);
|
||||
CREATE INDEX idx_sj_job_log_message_03 ON sj_job_log_message (namespace_id, group_name);
|
||||
|
||||
COMMENT ON COLUMN sj_job_log_message.id IS '主键';
|
||||
COMMENT ON COLUMN sj_job_log_message.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN sj_job_log_message.group_name IS '组名称';
|
||||
COMMENT ON COLUMN sj_job_log_message.job_id IS '任务信息id';
|
||||
COMMENT ON COLUMN sj_job_log_message.task_batch_id IS '任务批次id';
|
||||
COMMENT ON COLUMN sj_job_log_message.task_id IS '调度任务id';
|
||||
COMMENT ON COLUMN sj_job_log_message.message IS '调度信息';
|
||||
COMMENT ON COLUMN sj_job_log_message.log_num IS '日志数量';
|
||||
COMMENT ON COLUMN sj_job_log_message.real_time IS '上报时间';
|
||||
COMMENT ON COLUMN sj_job_log_message.ext_attrs IS '扩展字段';
|
||||
COMMENT ON COLUMN sj_job_log_message.create_dt IS '创建时间';
|
||||
COMMENT ON TABLE sj_job_log_message IS '调度日志';
|
||||
|
||||
-- ### 任务实例表
|
||||
CREATE TABLE sj_job_task
|
||||
(
|
||||
id bigserial PRIMARY KEY,
|
||||
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
group_name varchar(64) NOT NULL,
|
||||
job_id bigint NOT NULL,
|
||||
task_batch_id bigint NOT NULL,
|
||||
parent_id bigint NOT NULL DEFAULT 0,
|
||||
task_status smallint NOT NULL DEFAULT 0,
|
||||
retry_count int NOT NULL DEFAULT 0,
|
||||
mr_stage smallint NULL DEFAULT NULL,
|
||||
leaf smallint NOT NULL DEFAULT '1',
|
||||
task_name varchar(255) NOT NULL DEFAULT '',
|
||||
client_info varchar(128) NULL DEFAULT NULL,
|
||||
wf_context text NULL DEFAULT NULL,
|
||||
result_message text NOT NULL,
|
||||
args_str text NULL DEFAULT NULL,
|
||||
args_type smallint NOT NULL DEFAULT 1,
|
||||
ext_attrs varchar(256) NULL DEFAULT '',
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE INDEX idx_sj_job_task_01 ON sj_job_task (task_batch_id, task_status);
|
||||
CREATE INDEX idx_sj_job_task_02 ON sj_job_task (create_dt);
|
||||
CREATE INDEX idx_sj_job_task_03 ON sj_job_task (namespace_id, group_name);
|
||||
|
||||
COMMENT ON COLUMN sj_job_task.id IS '主键';
|
||||
COMMENT ON COLUMN sj_job_task.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN sj_job_task.group_name IS '组名称';
|
||||
COMMENT ON COLUMN sj_job_task.job_id IS '任务信息id';
|
||||
COMMENT ON COLUMN sj_job_task.task_batch_id IS '调度任务id';
|
||||
COMMENT ON COLUMN sj_job_task.parent_id IS '父执行器id';
|
||||
COMMENT ON COLUMN sj_job_task.task_status IS '执行的状态 0、失败 1、成功';
|
||||
COMMENT ON COLUMN sj_job_task.retry_count IS '重试次数';
|
||||
COMMENT ON COLUMN sj_job_task.mr_stage IS '动态分片所处阶段 1:map 2:reduce 3:mergeReduce';
|
||||
COMMENT ON COLUMN sj_job_task.leaf IS '叶子节点';
|
||||
COMMENT ON COLUMN sj_job_task.task_name IS '任务名称';
|
||||
COMMENT ON COLUMN sj_job_task.client_info IS '客户端地址 clientId#ip:port';
|
||||
COMMENT ON COLUMN sj_job_task.wf_context IS '工作流全局上下文';
|
||||
COMMENT ON COLUMN sj_job_task.result_message IS '执行结果';
|
||||
COMMENT ON COLUMN sj_job_task.args_str IS '执行方法参数';
|
||||
COMMENT ON COLUMN sj_job_task.args_type IS '参数类型 ';
|
||||
COMMENT ON COLUMN sj_job_task.ext_attrs IS '扩展字段';
|
||||
COMMENT ON COLUMN sj_job_task.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sj_job_task.update_dt IS '修改时间';
|
||||
COMMENT ON TABLE sj_job_task IS '任务实例';
|
||||
|
||||
-- ### 任务批次表
|
||||
CREATE TABLE sj_job_task_batch
|
||||
(
|
||||
id bigserial PRIMARY KEY,
|
||||
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
group_name varchar(64) NOT NULL,
|
||||
job_id bigint NOT NULL,
|
||||
workflow_node_id bigint NOT NULL DEFAULT 0,
|
||||
parent_workflow_node_id bigint NOT NULL DEFAULT 0,
|
||||
workflow_task_batch_id bigint NOT NULL DEFAULT 0,
|
||||
task_batch_status smallint NOT NULL DEFAULT 0,
|
||||
operation_reason smallint NOT NULL DEFAULT 0,
|
||||
execution_at bigint NOT NULL DEFAULT 0,
|
||||
system_task_type smallint NOT NULL DEFAULT 3,
|
||||
parent_id varchar(64) NOT NULL DEFAULT '',
|
||||
ext_attrs varchar(256) NULL DEFAULT '',
|
||||
deleted smallint NOT NULL DEFAULT 0,
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE INDEX idx_sj_job_task_batch_01 ON sj_job_task_batch (job_id, task_batch_status);
|
||||
CREATE INDEX idx_sj_job_task_batch_02 ON sj_job_task_batch (create_dt);
|
||||
CREATE INDEX idx_sj_job_task_batch_03 ON sj_job_task_batch (namespace_id, group_name);
|
||||
CREATE INDEX idx_sj_job_task_batch_04 ON sj_job_task_batch (workflow_task_batch_id, workflow_node_id);
|
||||
|
||||
COMMENT ON COLUMN sj_job_task_batch.id IS '主键';
|
||||
COMMENT ON COLUMN sj_job_task_batch.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN sj_job_task_batch.group_name IS '组名称';
|
||||
COMMENT ON COLUMN sj_job_task_batch.job_id IS '任务id';
|
||||
COMMENT ON COLUMN sj_job_task_batch.workflow_node_id IS '工作流节点id';
|
||||
COMMENT ON COLUMN sj_job_task_batch.parent_workflow_node_id IS '工作流任务父批次id';
|
||||
COMMENT ON COLUMN sj_job_task_batch.workflow_task_batch_id IS '工作流任务批次id';
|
||||
COMMENT ON COLUMN sj_job_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功';
|
||||
COMMENT ON COLUMN sj_job_task_batch.operation_reason IS '操作原因';
|
||||
COMMENT ON COLUMN sj_job_task_batch.execution_at IS '任务执行时间';
|
||||
COMMENT ON COLUMN sj_job_task_batch.system_task_type IS '任务类型 3、JOB任务 4、WORKFLOW任务';
|
||||
COMMENT ON COLUMN sj_job_task_batch.parent_id IS '父节点';
|
||||
COMMENT ON COLUMN sj_job_task_batch.ext_attrs IS '扩展字段';
|
||||
COMMENT ON COLUMN sj_job_task_batch.deleted IS '逻辑删除 1、删除';
|
||||
COMMENT ON COLUMN sj_job_task_batch.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sj_job_task_batch.update_dt IS '修改时间';
|
||||
COMMENT ON TABLE sj_job_task_batch IS '任务批次';
|
||||
|
||||
-- ### 任务统计表
|
||||
CREATE TABLE sj_job_summary
|
||||
(
|
||||
id bigserial PRIMARY KEY,
|
||||
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
group_name varchar(64) NOT NULL DEFAULT '',
|
||||
business_id bigint NOT NULL,
|
||||
system_task_type smallint NOT NULL DEFAULT 3,
|
||||
trigger_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
success_num int NOT NULL DEFAULT 0,
|
||||
fail_num int NOT NULL DEFAULT 0,
|
||||
fail_reason varchar(512) NOT NULL DEFAULT '',
|
||||
stop_num int NOT NULL DEFAULT 0,
|
||||
stop_reason varchar(512) NOT NULL DEFAULT '',
|
||||
cancel_num int NOT NULL DEFAULT 0,
|
||||
cancel_reason varchar(512) NOT NULL DEFAULT '',
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX uk_sj_job_summary_01 ON sj_job_summary (trigger_at, system_task_type, business_id);
|
||||
|
||||
CREATE INDEX idx_sj_job_summary_01 ON sj_job_summary (namespace_id, group_name, business_id);
|
||||
|
||||
COMMENT ON COLUMN sj_job_summary.id IS '主键';
|
||||
COMMENT ON COLUMN sj_job_summary.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN sj_job_summary.group_name IS '组名称';
|
||||
COMMENT ON COLUMN sj_job_summary.business_id IS '业务id ( job_id或workflow_id)';
|
||||
COMMENT ON COLUMN sj_job_summary.system_task_type IS '任务类型 3、JOB任务 4、WORKFLOW任务';
|
||||
COMMENT ON COLUMN sj_job_summary.trigger_at IS '统计时间';
|
||||
COMMENT ON COLUMN sj_job_summary.success_num IS '执行成功-日志数量';
|
||||
COMMENT ON COLUMN sj_job_summary.fail_num IS '执行失败-日志数量';
|
||||
COMMENT ON COLUMN sj_job_summary.fail_reason IS '失败原因';
|
||||
COMMENT ON COLUMN sj_job_summary.stop_num IS '执行失败-日志数量';
|
||||
COMMENT ON COLUMN sj_job_summary.stop_reason IS '失败原因';
|
||||
COMMENT ON COLUMN sj_job_summary.cancel_num IS '执行失败-日志数量';
|
||||
COMMENT ON COLUMN sj_job_summary.cancel_reason IS '失败原因';
|
||||
COMMENT ON COLUMN sj_job_summary.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sj_job_summary.update_dt IS '修改时间';
|
||||
COMMENT ON TABLE sj_job_summary IS 'DashBoard_Job';
|
||||
|
||||
-- ### 重试统计表
|
||||
CREATE TABLE sj_retry_summary
|
||||
(
|
||||
id bigserial PRIMARY KEY,
|
||||
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
group_name varchar(64) NOT NULL DEFAULT '',
|
||||
scene_name varchar(64) NOT NULL DEFAULT '',
|
||||
trigger_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
running_num int NOT NULL DEFAULT 0,
|
||||
finish_num int NOT NULL DEFAULT 0,
|
||||
max_count_num int NOT NULL DEFAULT 0,
|
||||
suspend_num int NOT NULL DEFAULT 0,
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX uk_sj_retry_summary_01 ON sj_retry_summary (namespace_id, group_name, scene_name, trigger_at);
|
||||
|
||||
CREATE INDEX idx_sj_retry_summary_01 ON sj_retry_summary (trigger_at);
|
||||
|
||||
COMMENT ON COLUMN sj_retry_summary.id IS '主键';
|
||||
COMMENT ON COLUMN sj_retry_summary.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN sj_retry_summary.group_name IS '组名称';
|
||||
COMMENT ON COLUMN sj_retry_summary.scene_name IS '场景名称';
|
||||
COMMENT ON COLUMN sj_retry_summary.trigger_at IS '统计时间';
|
||||
COMMENT ON COLUMN sj_retry_summary.running_num IS '重试中-日志数量';
|
||||
COMMENT ON COLUMN sj_retry_summary.finish_num IS '重试完成-日志数量';
|
||||
COMMENT ON COLUMN sj_retry_summary.max_count_num IS '重试到达最大次数-日志数量';
|
||||
COMMENT ON COLUMN sj_retry_summary.suspend_num IS '暂停重试-日志数量';
|
||||
COMMENT ON COLUMN sj_retry_summary.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sj_retry_summary.update_dt IS '修改时间';
|
||||
COMMENT ON TABLE sj_retry_summary IS 'DashBoard_Retry';
|
||||
|
||||
-- ### 工作流表
|
||||
CREATE TABLE sj_workflow
|
||||
(
|
||||
id bigserial PRIMARY KEY,
|
||||
workflow_name varchar(64) NOT NULL,
|
||||
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
biz_id varchar(64) NOT NULL,
|
||||
group_name varchar(64) NOT NULL,
|
||||
workflow_status smallint NOT NULL DEFAULT 1,
|
||||
trigger_type smallint NOT NULL,
|
||||
trigger_interval varchar(255) NOT NULL,
|
||||
next_trigger_at bigint NOT NULL,
|
||||
block_strategy smallint NOT NULL DEFAULT 1,
|
||||
executor_timeout int NOT NULL DEFAULT 0,
|
||||
description varchar(256) NOT NULL DEFAULT '',
|
||||
flow_info text NULL DEFAULT NULL,
|
||||
wf_context text NULL DEFAULT NULL,
|
||||
notify_ids varchar(128) NOT NULL DEFAULT '',
|
||||
bucket_index int NOT NULL DEFAULT 0,
|
||||
version int NOT NULL,
|
||||
owner_id bigint NULL DEFAULT NULL,
|
||||
ext_attrs varchar(256) NULL DEFAULT '',
|
||||
deleted smallint NOT NULL DEFAULT 0,
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX uk_sj_workflow_01 ON sj_workflow (namespace_id, biz_id);
|
||||
CREATE INDEX idx_sj_workflow_01 ON sj_workflow (create_dt);
|
||||
CREATE INDEX idx_sj_workflow_02 ON sj_workflow (namespace_id, group_name);
|
||||
|
||||
COMMENT ON COLUMN sj_workflow.id IS '主键';
|
||||
COMMENT ON COLUMN sj_workflow.workflow_name IS '工作流名称';
|
||||
COMMENT ON COLUMN sj_workflow.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN sj_workflow.biz_id IS '业务ID';
|
||||
COMMENT ON COLUMN sj_workflow.group_name IS '组名称';
|
||||
COMMENT ON COLUMN sj_workflow.workflow_status IS '工作流状态 0、关闭、1、开启';
|
||||
COMMENT ON COLUMN sj_workflow.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间';
|
||||
COMMENT ON COLUMN sj_workflow.trigger_interval IS '间隔时长';
|
||||
COMMENT ON COLUMN sj_workflow.next_trigger_at IS '下次触发时间';
|
||||
COMMENT ON COLUMN sj_workflow.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行';
|
||||
COMMENT ON COLUMN sj_workflow.executor_timeout IS '任务执行超时时间,单位秒';
|
||||
COMMENT ON COLUMN sj_workflow.description IS '描述';
|
||||
COMMENT ON COLUMN sj_workflow.flow_info IS '流程信息';
|
||||
COMMENT ON COLUMN sj_workflow.wf_context IS '上下文';
|
||||
COMMENT ON COLUMN sj_workflow.notify_ids IS '通知告警场景配置id列表';
|
||||
COMMENT ON COLUMN sj_workflow.bucket_index IS 'bucket';
|
||||
COMMENT ON COLUMN sj_workflow.version IS '版本号';
|
||||
COMMENT ON COLUMN sj_workflow.owner_id IS '负责人id';
|
||||
COMMENT ON COLUMN sj_workflow.ext_attrs IS '扩展字段';
|
||||
COMMENT ON COLUMN sj_workflow.deleted IS '逻辑删除 1、删除';
|
||||
COMMENT ON COLUMN sj_workflow.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sj_workflow.update_dt IS '修改时间';
|
||||
COMMENT ON TABLE sj_workflow IS '工作流';
|
||||
|
||||
-- ### 工作流节点表
|
||||
CREATE TABLE sj_workflow_node
|
||||
(
|
||||
id bigserial PRIMARY KEY,
|
||||
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
node_name varchar(64) NOT NULL,
|
||||
group_name varchar(64) NOT NULL,
|
||||
job_id bigint NOT NULL,
|
||||
workflow_id bigint NOT NULL,
|
||||
node_type smallint NOT NULL DEFAULT 1,
|
||||
expression_type smallint NOT NULL DEFAULT 0,
|
||||
fail_strategy smallint NOT NULL DEFAULT 1,
|
||||
workflow_node_status smallint NOT NULL DEFAULT 1,
|
||||
priority_level int NOT NULL DEFAULT 1,
|
||||
node_info text NULL DEFAULT NULL,
|
||||
version int NOT NULL,
|
||||
ext_attrs varchar(256) NULL DEFAULT '',
|
||||
deleted smallint NOT NULL DEFAULT 0,
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE INDEX idx_sj_workflow_node_01 ON sj_workflow_node (create_dt);
|
||||
CREATE INDEX idx_sj_workflow_node_02 ON sj_workflow_node (namespace_id, group_name);
|
||||
|
||||
COMMENT ON COLUMN sj_workflow_node.id IS '主键';
|
||||
COMMENT ON COLUMN sj_workflow_node.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN sj_workflow_node.node_name IS '节点名称';
|
||||
COMMENT ON COLUMN sj_workflow_node.group_name IS '组名称';
|
||||
COMMENT ON COLUMN sj_workflow_node.job_id IS '任务信息id';
|
||||
COMMENT ON COLUMN sj_workflow_node.workflow_id IS '工作流ID';
|
||||
COMMENT ON COLUMN sj_workflow_node.node_type IS '1、任务节点 2、条件节点';
|
||||
COMMENT ON COLUMN sj_workflow_node.expression_type IS '1、SpEl、2、Aviator 3、QL';
|
||||
COMMENT ON COLUMN sj_workflow_node.fail_strategy IS '失败策略 1、跳过 2、阻塞';
|
||||
COMMENT ON COLUMN sj_workflow_node.workflow_node_status IS '工作流节点状态 0、关闭、1、开启';
|
||||
COMMENT ON COLUMN sj_workflow_node.priority_level IS '优先级';
|
||||
COMMENT ON COLUMN sj_workflow_node.node_info IS '节点信息 ';
|
||||
COMMENT ON COLUMN sj_workflow_node.version IS '版本号';
|
||||
COMMENT ON COLUMN sj_workflow_node.ext_attrs IS '扩展字段';
|
||||
COMMENT ON COLUMN sj_workflow_node.deleted IS '逻辑删除 1、删除';
|
||||
COMMENT ON COLUMN sj_workflow_node.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sj_workflow_node.update_dt IS '修改时间';
|
||||
COMMENT ON TABLE sj_workflow_node IS '工作流节点';
|
||||
|
||||
-- ### 工作流任务批次表
|
||||
CREATE TABLE sj_workflow_task_batch
|
||||
(
|
||||
id bigserial PRIMARY KEY,
|
||||
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
group_name varchar(64) NOT NULL,
|
||||
workflow_id bigint NOT NULL,
|
||||
task_batch_status smallint NOT NULL DEFAULT 0,
|
||||
operation_reason smallint NOT NULL DEFAULT 0,
|
||||
flow_info text NULL DEFAULT NULL,
|
||||
wf_context text NULL DEFAULT NULL,
|
||||
execution_at bigint NOT NULL DEFAULT 0,
|
||||
ext_attrs varchar(256) NULL DEFAULT '',
|
||||
version int NOT NULL DEFAULT 1,
|
||||
deleted smallint NOT NULL DEFAULT 0,
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE INDEX idx_sj_workflow_task_batch_01 ON sj_workflow_task_batch (workflow_id, task_batch_status);
|
||||
CREATE INDEX idx_sj_workflow_task_batch_02 ON sj_workflow_task_batch (create_dt);
|
||||
CREATE INDEX idx_sj_workflow_task_batch_03 ON sj_workflow_task_batch (namespace_id, group_name);
|
||||
|
||||
COMMENT ON COLUMN sj_workflow_task_batch.id IS '主键';
|
||||
COMMENT ON COLUMN sj_workflow_task_batch.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN sj_workflow_task_batch.group_name IS '组名称';
|
||||
COMMENT ON COLUMN sj_workflow_task_batch.workflow_id IS '工作流任务id';
|
||||
COMMENT ON COLUMN sj_workflow_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功';
|
||||
COMMENT ON COLUMN sj_workflow_task_batch.operation_reason IS '操作原因';
|
||||
COMMENT ON COLUMN sj_workflow_task_batch.flow_info IS '流程信息';
|
||||
COMMENT ON COLUMN sj_workflow_task_batch.wf_context IS '全局上下文';
|
||||
COMMENT ON COLUMN sj_workflow_task_batch.execution_at IS '任务执行时间';
|
||||
COMMENT ON COLUMN sj_workflow_task_batch.ext_attrs IS '扩展字段';
|
||||
COMMENT ON COLUMN sj_workflow_task_batch.version IS '版本号';
|
||||
COMMENT ON COLUMN sj_workflow_task_batch.deleted IS '逻辑删除 1、删除';
|
||||
COMMENT ON COLUMN sj_workflow_task_batch.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sj_workflow_task_batch.update_dt IS '修改时间';
|
||||
COMMENT ON TABLE sj_workflow_task_batch IS '工作流批次';
|
||||
|
||||
-- ### 任务执行器表
|
||||
CREATE TABLE sj_job_executor
|
||||
(
|
||||
id bigserial PRIMARY KEY,
|
||||
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
group_name varchar(64) NOT NULL,
|
||||
executor_info varchar(256) NOT NULL,
|
||||
executor_type varchar(3) NOT NULL,
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE INDEX idx_sj_job_executor_01 ON sj_job_executor (namespace_id, group_name);
|
||||
CREATE INDEX idx_sj_job_executor_02 ON sj_job_executor (create_dt);
|
||||
|
||||
COMMENT ON COLUMN sj_job_executor.id IS '主键';
|
||||
COMMENT ON COLUMN sj_job_executor.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN sj_job_executor.group_name IS '组名称';
|
||||
COMMENT ON COLUMN sj_job_executor.executor_info IS '任务执行器名称';
|
||||
COMMENT ON COLUMN sj_job_executor.executor_type IS '1:java 2:python 3:go';
|
||||
COMMENT ON COLUMN sj_job_executor.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sj_job_executor.update_dt IS '修改时间';
|
||||
COMMENT ON TABLE sj_job_executor IS '任务执行器信息';
|
||||
@@ -17,6 +17,17 @@
|
||||
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-liquibase</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-common-nacos</artifactId>
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
databaseChangeLog:
|
||||
- include:
|
||||
file: mysql/resource_table.sql
|
||||
relativeToChangelogFile: true
|
||||
- include:
|
||||
file: mysql/resource_data.sql
|
||||
relativeToChangelogFile: true
|
||||
- include:
|
||||
file: postgresql/resource_table.sql
|
||||
relativeToChangelogFile: true
|
||||
- include:
|
||||
file: postgresql/resource_data.sql
|
||||
relativeToChangelogFile: true
|
||||
@@ -0,0 +1,8 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset seewis:resource-mysql-data-baseline dbms:mysql splitStatements:true
|
||||
insert into sys_oss_config values (1761900000000000001, 'minio', 'ruoyi', 'ruoyi123', 'ruoyi', '', '127.0.0.1:9000', '', 'N', '', '1', 'Y', '', 1761000000000000103, 1761100000000000001, sysdate(), 1761100000000000001, sysdate(), null);
|
||||
insert into sys_oss_config values (1761900000000000002, 'qiniu', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi', '', 's3-cn-north-1.qiniucs.com', '', 'N', '', '1', 'N', '', 1761000000000000103, 1761100000000000001, sysdate(), 1761100000000000001, sysdate(), null);
|
||||
insert into sys_oss_config values (1761900000000000003, 'aliyun', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi', '', 'oss-cn-beijing.aliyuncs.com', '', 'N', '', '1', 'N', '', 1761000000000000103, 1761100000000000001, sysdate(), 1761100000000000001, sysdate(), null);
|
||||
insert into sys_oss_config values (1761900000000000004, 'qcloud', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi-1240000000', '', 'cos.ap-beijing.myqcloud.com', '', 'N', 'ap-beijing', '1', 'N', '', 1761000000000000103, 1761100000000000001, sysdate(), 1761100000000000001, sysdate(), null);
|
||||
insert into sys_oss_config values (1761900000000000005, 'image', 'ruoyi', 'ruoyi123', 'ruoyi', 'image', '127.0.0.1:9000', '', 'N', '', '1', 'N', '', 1761000000000000103, 1761100000000000001, sysdate(), 1761100000000000001, sysdate(), null);
|
||||
@@ -0,0 +1,64 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset seewis:resource-mysql-table-baseline dbms:mysql splitStatements:true
|
||||
-- ### 消息记录表
|
||||
create table sys_message (
|
||||
message_id bigint(20) not null comment '消息ID',
|
||||
category varchar(20) not null comment '消息分组(system/notice/workflow)',
|
||||
type varchar(20) not null comment '消息类型',
|
||||
source varchar(20) not null comment '消息来源',
|
||||
title varchar(100) default '' comment '标题',
|
||||
message varchar(500) default '' comment '摘要消息',
|
||||
content longtext comment '详细内容',
|
||||
data_json longtext comment '扩展数据JSON',
|
||||
path varchar(500) default null comment '前端跳转路径',
|
||||
send_user_ids varchar(2000) not null default '0' comment '目标用户ID串,0表示全局',
|
||||
create_dept bigint(20) default null comment '创建部门',
|
||||
create_by bigint(20) default null comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by bigint(20) default null comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
primary key (message_id),
|
||||
key idx_sys_message_category_time (category, create_time)
|
||||
) engine=innodb comment = '消息记录表';
|
||||
|
||||
-- ### OSS对象存储表
|
||||
create table sys_oss (
|
||||
oss_id bigint(20) not null comment '对象存储主键',
|
||||
file_name varchar(255) not null default '' comment '文件名',
|
||||
original_name varchar(255) not null default '' comment '原名',
|
||||
file_suffix varchar(10) not null default '' comment '文件后缀名',
|
||||
url varchar(500) not null comment 'URL地址',
|
||||
ext1 text default null comment '扩展字段',
|
||||
create_dept bigint(20) default null comment '创建部门',
|
||||
create_time datetime default null comment '创建时间',
|
||||
create_by bigint(20) default null comment '上传人',
|
||||
update_time datetime default null comment '更新时间',
|
||||
update_by bigint(20) default null comment '更新人',
|
||||
service varchar(20) not null default 'minio' comment '服务商',
|
||||
primary key (oss_id)
|
||||
) engine=innodb comment ='OSS对象存储表';
|
||||
|
||||
-- ### OSS对象存储配置表
|
||||
create table sys_oss_config (
|
||||
oss_config_id bigint(20) not null comment '主键',
|
||||
config_key varchar(20) not null default '' comment '配置key',
|
||||
access_key varchar(255) default '' comment 'accessKey',
|
||||
secret_key varchar(255) default '' comment '秘钥',
|
||||
bucket_name varchar(255) default '' comment '桶名称',
|
||||
prefix varchar(255) default '' comment '前缀',
|
||||
endpoint varchar(255) default '' comment '访问站点',
|
||||
domain_url varchar(255) default '' comment '自定义域名',
|
||||
is_https char(1) default 'N' comment '是否https(Y=是,N=否)',
|
||||
region varchar(255) default '' comment '域',
|
||||
access_policy char(1) not null default '1' comment '桶权限类型(0=private 1=public 2=custom)',
|
||||
status char(1) default 'N' comment '是否默认(Y=是,N=否)',
|
||||
ext1 varchar(255) default '' comment '扩展字段',
|
||||
create_dept bigint(20) default null comment '创建部门',
|
||||
create_by bigint(20) default null comment '创建者',
|
||||
create_time datetime default null comment '创建时间',
|
||||
update_by bigint(20) default null comment '更新者',
|
||||
update_time datetime default null comment '更新时间',
|
||||
remark varchar(500) default null comment '备注',
|
||||
primary key (oss_config_id)
|
||||
) engine=innodb comment='对象存储配置表';
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset seewis:resource-postgresql-data-baseline dbms:postgresql splitStatements:false
|
||||
insert into sys_oss_config values (1761900000000000001, 'minio', 'ruoyi', 'ruoyi123', 'ruoyi', '', '127.0.0.1:9000', '', 'N', '', '1', 'Y', '', 1761000000000000103, 1761100000000000001, now(), 1761100000000000001, now(), null);
|
||||
insert into sys_oss_config values (1761900000000000002, 'qiniu', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi', '', 's3-cn-north-1.qiniucs.com', '', 'N', '', '1', 'N', '', 1761000000000000103, 1761100000000000001, now(), 1761100000000000001, now(), null);
|
||||
insert into sys_oss_config values (1761900000000000003, 'aliyun', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi', '', 'oss-cn-beijing.aliyuncs.com', '', 'N', '', '1', 'N', '', 1761000000000000103, 1761100000000000001, now(), 1761100000000000001, now(), null);
|
||||
insert into sys_oss_config values (1761900000000000004, 'qcloud', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi-1240000000', '', 'cos.ap-beijing.myqcloud.com', '', 'N', 'ap-beijing', '1', 'N', '', 1761000000000000103, 1761100000000000001, now(), 1761100000000000001, now(), null);
|
||||
insert into sys_oss_config values (1761900000000000005, 'image', 'ruoyi', 'ruoyi123', 'ruoyi', 'image', '127.0.0.1:9000', '', 'N', '', '1', 'N', '', 1761000000000000103, 1761100000000000001, now(), 1761100000000000001, now(), NULL);
|
||||
+120
@@ -0,0 +1,120 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset seewis:resource-postgresql-table-baseline dbms:postgresql splitStatements:false
|
||||
-- ### 消息记录表
|
||||
create table if not exists sys_message
|
||||
(
|
||||
message_id int8,
|
||||
category varchar(20) not null,
|
||||
type varchar(20) not null,
|
||||
source varchar(20) not null,
|
||||
title varchar(100) default ''::varchar,
|
||||
message varchar(500) default ''::varchar,
|
||||
content text,
|
||||
data_json text,
|
||||
path varchar(500) default null::varchar,
|
||||
send_user_ids varchar(2000) not null default '0'::varchar,
|
||||
create_dept int8,
|
||||
create_by int8,
|
||||
create_time timestamp,
|
||||
update_by int8,
|
||||
update_time timestamp,
|
||||
constraint sys_message_pk primary key (message_id)
|
||||
);
|
||||
|
||||
create index if not exists idx_sys_message_category_time on sys_message (category, create_time);
|
||||
|
||||
comment on table sys_message is '消息记录表';
|
||||
comment on column sys_message.message_id is '消息ID';
|
||||
comment on column sys_message.category is '消息分组(system/notice/workflow)';
|
||||
comment on column sys_message.type is '消息类型';
|
||||
comment on column sys_message.source is '消息来源';
|
||||
comment on column sys_message.title is '标题';
|
||||
comment on column sys_message.message is '摘要消息';
|
||||
comment on column sys_message.content is '详细内容';
|
||||
comment on column sys_message.data_json is '扩展数据JSON';
|
||||
comment on column sys_message.path is '前端跳转路径';
|
||||
comment on column sys_message.send_user_ids is '目标用户ID串,0表示全局';
|
||||
comment on column sys_message.create_dept is '创建部门';
|
||||
comment on column sys_message.create_by is '创建者';
|
||||
comment on column sys_message.create_time is '创建时间';
|
||||
comment on column sys_message.update_by is '更新者';
|
||||
comment on column sys_message.update_time is '更新时间';
|
||||
|
||||
-- ### OSS对象存储表
|
||||
create table if not exists sys_oss
|
||||
(
|
||||
oss_id int8,
|
||||
file_name varchar(255) default ''::varchar not null,
|
||||
original_name varchar(255) default ''::varchar not null,
|
||||
file_suffix varchar(10) default ''::varchar not null,
|
||||
url varchar(500) default ''::varchar not null,
|
||||
ext1 varchar(500) default ''::varchar,
|
||||
create_dept int8,
|
||||
create_by int8,
|
||||
create_time timestamp,
|
||||
update_by int8,
|
||||
update_time timestamp,
|
||||
service varchar(20) default 'minio'::varchar,
|
||||
constraint sys_oss_pk primary key (oss_id)
|
||||
);
|
||||
|
||||
comment on table sys_oss is 'OSS对象存储表';
|
||||
comment on column sys_oss.oss_id is '对象存储主键';
|
||||
comment on column sys_oss.file_name is '文件名';
|
||||
comment on column sys_oss.original_name is '原名';
|
||||
comment on column sys_oss.file_suffix is '文件后缀名';
|
||||
comment on column sys_oss.url is 'URL地址';
|
||||
comment on column sys_oss.ext1 is '扩展字段';
|
||||
comment on column sys_oss.create_by is '上传人';
|
||||
comment on column sys_oss.create_dept is '创建部门';
|
||||
comment on column sys_oss.create_time is '创建时间';
|
||||
comment on column sys_oss.update_by is '更新者';
|
||||
comment on column sys_oss.update_time is '更新时间';
|
||||
comment on column sys_oss.service is '服务商';
|
||||
|
||||
-- ### OSS对象存储配置表
|
||||
create table if not exists sys_oss_config
|
||||
(
|
||||
oss_config_id int8,
|
||||
config_key varchar(20) default ''::varchar not null,
|
||||
access_key varchar(255) default ''::varchar,
|
||||
secret_key varchar(255) default ''::varchar,
|
||||
bucket_name varchar(255) default ''::varchar,
|
||||
prefix varchar(255) default ''::varchar,
|
||||
endpoint varchar(255) default ''::varchar,
|
||||
domain_url varchar(255) default ''::varchar,
|
||||
is_https char default 'N'::bpchar,
|
||||
region varchar(255) default ''::varchar,
|
||||
access_policy char(1) default '1'::bpchar not null,
|
||||
status char default 'N'::bpchar,
|
||||
ext1 varchar(255) default ''::varchar,
|
||||
create_dept int8,
|
||||
create_by int8,
|
||||
create_time timestamp,
|
||||
update_by int8,
|
||||
update_time timestamp,
|
||||
remark varchar(500) default ''::varchar,
|
||||
constraint sys_oss_config_pk primary key (oss_config_id)
|
||||
);
|
||||
|
||||
comment on table sys_oss_config is '对象存储配置表';
|
||||
comment on column sys_oss_config.oss_config_id is '主键';
|
||||
comment on column sys_oss_config.config_key is '配置key';
|
||||
comment on column sys_oss_config.access_key is 'accessKey';
|
||||
comment on column sys_oss_config.secret_key is '秘钥';
|
||||
comment on column sys_oss_config.bucket_name is '桶名称';
|
||||
comment on column sys_oss_config.prefix is '前缀';
|
||||
comment on column sys_oss_config.endpoint is '访问站点';
|
||||
comment on column sys_oss_config.domain_url is '自定义域名';
|
||||
comment on column sys_oss_config.is_https is '是否https(Y=是,N=否)';
|
||||
comment on column sys_oss_config.region is '域';
|
||||
comment on column sys_oss_config.access_policy is '桶权限类型(0=private 1=public 2=custom)';
|
||||
comment on column sys_oss_config.status is '是否默认(Y=是,N=否)';
|
||||
comment on column sys_oss_config.ext1 is '扩展字段';
|
||||
comment on column sys_oss_config.create_dept is '创建部门';
|
||||
comment on column sys_oss_config.create_by is '创建者';
|
||||
comment on column sys_oss_config.create_time is '创建时间';
|
||||
comment on column sys_oss_config.update_by is '更新者';
|
||||
comment on column sys_oss_config.update_time is '更新时间';
|
||||
comment on column sys_oss_config.remark is '备注';
|
||||
@@ -17,6 +17,17 @@
|
||||
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-liquibase</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-common-nacos</artifactId>
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
databaseChangeLog:
|
||||
- include:
|
||||
file: mysql/system_table.sql
|
||||
relativeToChangelogFile: true
|
||||
- include:
|
||||
file: mysql/system_data.sql
|
||||
relativeToChangelogFile: true
|
||||
- include:
|
||||
file: postgresql/system_table.sql
|
||||
relativeToChangelogFile: true
|
||||
- include:
|
||||
file: postgresql/system_data.sql
|
||||
relativeToChangelogFile: true
|
||||
@@ -0,0 +1,354 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset seewis:system-mysql-data-baseline dbms:mysql splitStatements:true
|
||||
insert into sys_dept values(1761000000000000100, 0, '0', 'XXX科技', null, 0, null, '15888888888', 'xxx@qq.com', '0', '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null);
|
||||
insert into sys_dept values(1761000000000000101, 1761000000000000100, '0,1761000000000000100', '深圳总公司', null, 1, null, '15888888888', 'xxx@qq.com', '0', '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null);
|
||||
insert into sys_dept values(1761000000000000102, 1761000000000000100, '0,1761000000000000100', '长沙分公司', null, 2, null, '15888888888', 'xxx@qq.com', '0', '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null);
|
||||
insert into sys_dept values(1761000000000000103, 1761000000000000101, '0,1761000000000000100,1761000000000000101', '研发部门', null, 1, 1761100000000000001, '15888888888', 'xxx@qq.com', '0', '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null);
|
||||
insert into sys_dept values(1761000000000000104, 1761000000000000101, '0,1761000000000000100,1761000000000000101', '市场部门', null, 2, null, '15888888888', 'xxx@qq.com', '0', '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null);
|
||||
insert into sys_dept values(1761000000000000105, 1761000000000000101, '0,1761000000000000100,1761000000000000101', '测试部门', null, 3, null, '15888888888', 'xxx@qq.com', '0', '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null);
|
||||
insert into sys_dept values(1761000000000000106, 1761000000000000101, '0,1761000000000000100,1761000000000000101', '财务部门', null, 4, null, '15888888888', 'xxx@qq.com', '0', '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null);
|
||||
insert into sys_dept values(1761000000000000107, 1761000000000000101, '0,1761000000000000100,1761000000000000101', '运维部门', null, 5, null, '15888888888', 'xxx@qq.com', '0', '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null);
|
||||
insert into sys_dept values(1761000000000000108, 1761000000000000102, '0,1761000000000000100,1761000000000000102', '市场部门', null, 1, null, '15888888888', 'xxx@qq.com', '0', '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null);
|
||||
insert into sys_dept values(1761000000000000109, 1761000000000000102, '0,1761000000000000100,1761000000000000102', '财务部门', null, 2, null, '15888888888', 'xxx@qq.com', '0', '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null);
|
||||
insert into sys_user values(1761100000000000001, 1761000000000000103, 'admin', '疯狂的狮子Li', 'sys_user', 'crazyLionLi@163.com', '15888888888', '1', null, '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', sysdate(), 1761000000000000103, 1761100000000000001, sysdate(), null, null, '管理员');
|
||||
insert into sys_post values(1761200000000000001, 1761000000000000103, 'ceo', null, '董事长', 1, '0', '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_post values(1761200000000000002, 1761000000000000100, 'se', null, '项目经理', 2, '0', '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_post values(1761200000000000003, 1761000000000000100, 'hr', null, '人力资源', 3, '0', '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_post values(1761200000000000004, 1761000000000000100, 'user', null, '普通员工', 4, '0', '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_role values(1761300000000000001, '超级管理员', 'superadmin', 1, 1, 1, 1, '0', '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '超级管理员');
|
||||
insert into sys_menu values(1761400000000000001, '系统管理', 0, 1, 'system', null, '', 'N', 'Y', 'M', '0', '0', '', 'system', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '系统管理目录');
|
||||
insert into sys_menu values(1761400000000000002, '系统监控', 0, 3, 'monitor', null, '', 'N', 'Y', 'M', '0', '0', '', 'monitor', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '系统监控目录');
|
||||
insert into sys_menu values(1761400000000000003, '系统工具', 0, 4, 'tool', null, '', 'N', 'Y', 'M', '0', '0', '', 'tool', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '系统工具目录');
|
||||
insert into sys_menu values(1761400000000000004, 'PLUS官网', 0, 9, 'https://gitee.com/dromara/RuoYi-Cloud-Plus', null, '', 'Y', 'Y', 'M', '0', '0', '', 'guide', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, 'RuoYi-Vue-Plus官网地址');
|
||||
insert into sys_menu values(1761400000000000100, '用户管理', 1761400000000000001, 1, 'user', 'system/user/index', '', 'N', 'Y', 'C', '0', '0', 'system:user:list', 'user', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '用户管理菜单');
|
||||
insert into sys_menu values(1761400000000000101, '角色管理', 1761400000000000001, 2, 'role', 'system/role/index', '', 'N', 'Y', 'C', '0', '0', 'system:role:list', 'peoples', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '角色管理菜单');
|
||||
insert into sys_menu values(1761400000000000102, '菜单管理', 1761400000000000001, 3, 'menu', 'system/menu/index', '', 'N', 'Y', 'C', '0', '0', 'system:menu:list', 'tree-table', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '菜单管理菜单');
|
||||
insert into sys_menu values(1761400000000000103, '部门管理', 1761400000000000001, 4, 'dept', 'system/dept/index', '', 'N', 'Y', 'C', '0', '0', 'system:dept:list', 'tree', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '部门管理菜单');
|
||||
insert into sys_menu values(1761400000000000104, '岗位管理', 1761400000000000001, 5, 'post', 'system/post/index', '', 'N', 'Y', 'C', '0', '0', 'system:post:list', 'post', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '岗位管理菜单');
|
||||
insert into sys_menu values(1761400000000000105, '字典管理', 1761400000000000001, 6, 'dict', 'system/dict/index', '', 'N', 'Y', 'C', '0', '0', 'system:dict:list', 'dict', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '字典管理菜单');
|
||||
insert into sys_menu values(1761400000000000106, '参数设置', 1761400000000000001, 7, 'config', 'system/config/index', '', 'N', 'Y', 'C', '0', '0', 'system:config:list', 'edit', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '参数设置菜单');
|
||||
insert into sys_menu values(1761400000000000107, '通知公告', 1761400000000000001, 8, 'notice', 'system/notice/index', '', 'N', 'Y', 'C', '0', '0', 'system:notice:list', 'message', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '通知公告菜单');
|
||||
insert into sys_menu values(1761400000000000108, '日志管理', 1761400000000000001, 9, 'log', '', '', 'N', 'Y', 'M', '0', '0', '', 'log', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '日志管理菜单');
|
||||
insert into sys_menu values(1761400000000000109, '在线用户', 1761400000000000002, 1, 'online', 'monitor/online/index', '', 'N', 'Y', 'C', '0', '0', 'monitor:online:list', 'online', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '在线用户菜单');
|
||||
insert into sys_menu values(1761400000000000113, '缓存监控', 1761400000000000002, 5, 'cache', 'monitor/cache/index', '', 'N', 'Y', 'C', '0', '0', 'monitor:cache:list', 'redis', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '缓存监控菜单');
|
||||
insert into sys_menu values(1761400000000000110, 'SnailJob控制台', 1761400000000000002, 2, 'http://localhost:8800/snail-job', '', '', 'Y', 'Y', 'C', '0', '0', 'monitor:job:list', 'job', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, 'SJ定时任务菜单');
|
||||
insert into sys_menu values(1761400000000000121, 'AI控制台', 1761400000000000002, 7, 'http://localhost:8900/snail-ai', '', '', 'Y', 'Y', 'C', '0', '0', 'monitor:snailai:list', 'checkbox', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, 'AI控制台菜单');
|
||||
insert into sys_menu values(1761400000000000112, 'Nacos控制台', 1761400000000000002, 4, 'http://localhost:8848/nacos', '', '', 'Y', 'Y', 'C', '0', '0', 'monitor:nacos:list', 'nacos', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '服务治理菜单');
|
||||
insert into sys_menu values(1761400000000000114, 'Admin控制台', 1761400000000000002, 5, 'http://localhost:9100/login', '', '', 'Y', 'Y', 'C', '0', '0', 'monitor:server:list', 'server', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '服务监控菜单');
|
||||
insert into sys_menu values(1761400000000000115, '代码生成', 1761400000000000003, 2, 'gen', 'tool/gen/index', '', 'N', 'Y', 'C', '0', '0', 'tool:gen:list', 'code', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '代码生成菜单');
|
||||
insert into sys_menu values(1761400000000000123, '客户端管理', 1761400000000000001, 11, 'client', 'system/client/index', '', 'N', 'Y', 'C', '0', '0', 'system:client:list', 'international', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '客户端管理菜单');
|
||||
insert into sys_menu values(1761400000000000116, '修改生成配置', 1761400000000000003, 2, 'gen-edit/index/:tableId', 'tool/gen/editTable', '', 'N', 'N', 'C', '1', '0', 'tool:gen:edit', '#', '/tool/gen', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000000130, '分配用户', 1761400000000000001, 2, 'role-auth/user/:roleId', 'system/role/authUser', '', 'N', 'N', 'C', '1', '0', 'system:role:edit', '#', '/system/role', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000000131, '分配角色', 1761400000000000001, 1, 'user-auth/role/:userId', 'system/user/authRole', '', 'N', 'N', 'C', '1', '0', 'system:user:edit', '#', '/system/user', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000000133, '文件配置管理', 1761400000000000001, 10, 'oss-config/index', 'system/oss/config', '', 'N', 'N', 'C', '1', '0', 'system:ossConfig:list', '#', '/system/oss', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000000118, '文件管理', 1761400000000000001, 10, 'oss', 'system/oss/index', '', 'N', 'Y', 'C', '0', '0', 'system:oss:list', 'upload', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '文件管理菜单');
|
||||
insert into sys_menu values(1761400000000000500, '操作日志', 1761400000000000108, 1, 'operlog', 'monitor/operlog/index', '', 'N', 'Y', 'C', '0', '0', 'monitor:operlog:list', 'form', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '操作日志菜单');
|
||||
insert into sys_menu values(1761400000000000501, '登录日志', 1761400000000000108, 2, 'logininfo', 'monitor/logininfo/index', '', 'N', 'Y', 'C', '0', '0', 'monitor:logininfo:list', 'logininfo', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '登录日志菜单');
|
||||
insert into sys_menu values(1761400000000001001, '用户查询', 1761400000000000100, 1, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:user:query', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001002, '用户新增', 1761400000000000100, 2, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:user:add', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001003, '用户修改', 1761400000000000100, 3, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:user:edit', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001004, '用户删除', 1761400000000000100, 4, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:user:remove', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001005, '用户导出', 1761400000000000100, 5, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:user:export', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001006, '用户导入', 1761400000000000100, 6, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:user:import', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001007, '重置密码', 1761400000000000100, 7, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:user:resetPwd', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001008, '角色查询', 1761400000000000101, 1, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:role:query', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001009, '角色新增', 1761400000000000101, 2, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:role:add', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001010, '角色修改', 1761400000000000101, 3, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:role:edit', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001011, '角色删除', 1761400000000000101, 4, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:role:remove', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001012, '角色导出', 1761400000000000101, 5, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:role:export', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001013, '菜单查询', 1761400000000000102, 1, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:menu:query', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001014, '菜单新增', 1761400000000000102, 2, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:menu:add', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001015, '菜单修改', 1761400000000000102, 3, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:menu:edit', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001016, '菜单删除', 1761400000000000102, 4, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:menu:remove', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001017, '部门查询', 1761400000000000103, 1, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:dept:query', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001018, '部门新增', 1761400000000000103, 2, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:dept:add', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001019, '部门修改', 1761400000000000103, 3, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:dept:edit', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001020, '部门删除', 1761400000000000103, 4, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:dept:remove', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001021, '岗位查询', 1761400000000000104, 1, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:post:query', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001022, '岗位新增', 1761400000000000104, 2, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:post:add', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001023, '岗位修改', 1761400000000000104, 3, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:post:edit', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001024, '岗位删除', 1761400000000000104, 4, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:post:remove', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001025, '岗位导出', 1761400000000000104, 5, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:post:export', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001026, '字典查询', 1761400000000000105, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:dict:query', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001027, '字典新增', 1761400000000000105, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:dict:add', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001028, '字典修改', 1761400000000000105, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:dict:edit', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001029, '字典删除', 1761400000000000105, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:dict:remove', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001030, '字典导出', 1761400000000000105, 5, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:dict:export', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001031, '参数查询', 1761400000000000106, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:config:query', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001032, '参数新增', 1761400000000000106, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:config:add', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001033, '参数修改', 1761400000000000106, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:config:edit', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001034, '参数删除', 1761400000000000106, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:config:remove', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001035, '参数导出', 1761400000000000106, 5, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:config:export', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001036, '公告查询', 1761400000000000107, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:notice:query', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001037, '公告新增', 1761400000000000107, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:notice:add', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001038, '公告修改', 1761400000000000107, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:notice:edit', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001039, '公告删除', 1761400000000000107, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:notice:remove', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001040, '操作查询', 1761400000000000500, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'monitor:operlog:query', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001041, '操作删除', 1761400000000000500, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'monitor:operlog:remove', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001042, '日志导出', 1761400000000000500, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'monitor:operlog:export', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001043, '登录查询', 1761400000000000501, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'monitor:logininfo:query', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001044, '登录删除', 1761400000000000501, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'monitor:logininfo:remove', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001045, '日志导出', 1761400000000000501, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'monitor:logininfo:export', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001050, '账户解锁', 1761400000000000501, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'monitor:logininfo:unlock', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001046, '在线查询', 1761400000000000109, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'monitor:online:query', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001047, '批量强退', 1761400000000000109, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'monitor:online:batchLogout', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001048, '单条强退', 1761400000000000109, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'monitor:online:forceLogout', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001055, '生成查询', 1761400000000000115, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'tool:gen:query', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001056, '生成修改', 1761400000000000115, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'tool:gen:edit', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001057, '生成删除', 1761400000000000115, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'tool:gen:remove', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001058, '导入代码', 1761400000000000115, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'tool:gen:import', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001059, '预览代码', 1761400000000000115, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'tool:gen:preview', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001060, '生成代码', 1761400000000000115, 5, '#', '', '', 'N', 'Y', 'F', '0', '0', 'tool:gen:code', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001600, '文件查询', 1761400000000000118, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:oss:query', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001601, '文件上传', 1761400000000000118, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:oss:upload', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001602, '文件下载', 1761400000000000118, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:oss:download', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001603, '文件删除', 1761400000000000118, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:oss:remove', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001620, '配置列表', 1761400000000000118, 5, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:ossConfig:list', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001621, '配置添加', 1761400000000000118, 6, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:ossConfig:add', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001622, '配置编辑', 1761400000000000118, 6, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:ossConfig:edit', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001623, '配置删除', 1761400000000000118, 6, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:ossConfig:remove', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001061, '客户端管理查询', 1761400000000000123, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:client:query', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001062, '客户端管理新增', 1761400000000000123, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:client:add', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001063, '客户端管理修改', 1761400000000000123, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:client:edit', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001064, '客户端管理删除', 1761400000000000123, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:client:remove', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001065, '客户端管理导出', 1761400000000000123, 5, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:client:export', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011616, '工作流', 0, 6, 'workflow', '', '', 'N', 'Y', 'M', '0', '0', '', 'workflow', '', '', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values (1761400000000011618, '我的任务', 0, 7, 'task', '', '', 'N', 'Y', 'M', '0', '0', '', 'my-task', '', '', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values (1761400000000011619, '我的待办', 1761400000000011618, 2, 'taskWaiting', 'workflow/task/taskWaiting', '', 'N', 'N', 'C', '0', '0', '', 'waiting', '', '', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values (1761400000000011632, '我的已办', 1761400000000011618, 3, 'taskFinish', 'workflow/task/taskFinish', '', 'N', 'N', 'C', '0', '0', '', 'finish', '', '', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values (1761400000000011633, '我的抄送', 1761400000000011618, 4, 'taskCopyList', 'workflow/task/taskCopyList', '', 'N', 'N', 'C', '0', '0', '', 'my-copy', '', '', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values (1761400000000011620, '流程定义', 1761400000000011616, 3, 'processDefinition', 'workflow/processDefinition/index', '', 'N', 'N', 'C', '0', '0', 'workflow:definition:list', 'process-definition', '', '', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values (1761400000000011621, '流程实例', 1761400000000011630, 1, 'processInstance', 'workflow/processInstance/index', '', 'N', 'N', 'C', '0', '0', 'workflow:instance:list', 'tree-table', '', '', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values (1761400000000011622, '流程分类', 1761400000000011616, 1, 'category', 'workflow/category/index', '', 'N', 'Y', 'C', '0', '0', 'workflow:category:list', 'category', '', '', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values(1761400000000011801, '流程表达式', 1761400000000011616, 2, 'spel', 'workflow/spel/index', '', 'N', 'Y', 'C', '0', '0', 'workflow:spel:list', 'input', '', '', 1761000000000000103, 1761100000000000001, sysdate(), 1761100000000000001, sysdate(), '流程达式定义菜单');
|
||||
insert into sys_menu values (1761400000000011629, '我发起的', 1761400000000011618, 1, 'myDocument', 'workflow/task/myDocument', '', 'N', 'N', 'C', '0', '0', 'workflow:instance:currentList', 'guide', '', '', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values (1761400000000011630, '流程监控', 1761400000000011616, 4, 'processMonitor', '', '', 'N', 'Y', 'M', '0', '0', '', 'monitor', '', '', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values (1761400000000011631, '待办任务', 1761400000000011630, 2, 'allTaskWaiting', 'workflow/task/allTaskWaiting', '', 'N', 'N', 'C', '0', '0', 'workflow:task:list', 'waiting', '', '', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values (1761400000000011660, '待办任务修改', 1761400000000011631, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:task:edit', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011700, '流程设计', 1761400000000011616, 5, 'design/index', 'workflow/processDefinition/design', '', 'N', 'N', 'C', '1', '0', 'workflow:leave:edit', '#', '/workflow/processDefinition', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011701, '请假申请', 1761400000000011616, 6, 'leaveEdit/index', 'workflow/leave/leaveEdit', '', 'N', 'N', 'C', '1', '0', 'workflow:leave:edit', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011623, '流程分类查询', 1761400000000011622, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:category:query', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011624, '流程分类新增', 1761400000000011622, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:category:add', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011625, '流程分类修改', 1761400000000011622, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:category:edit', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011626, '流程分类删除', 1761400000000011622, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:category:remove', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011627, '流程分类导出', 1761400000000011622, 5, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:category:export', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011653, '流程实例查询', 1761400000000011621, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:instance:query', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011654, '流程变量查询', 1761400000000011621, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:instance:variableQuery', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011655, '流程变量修改', 1761400000000011621, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:instance:variable', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011656, '流程实例激活/挂起', 1761400000000011621, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:instance:active', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011657, '流程实例删除', 1761400000000011621, 5, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:instance:remove', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011658, '流程实例作废', 1761400000000011621, 6, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:instance:invalid', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011659, '流程实例撤销', 1761400000000011621, 7, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:instance:cancel', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011644, '流程定义查询', 1761400000000011620, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:definition:query', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011645, '流程定义新增', 1761400000000011620, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:definition:add', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011646, '流程定义修改', 1761400000000011620, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:definition:edit', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011647, '流程定义删除', 1761400000000011620, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:definition:remove', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011648, '流程定义导出', 1761400000000011620, 5, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:definition:export', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011649, '流程定义导入', 1761400000000011620, 6, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:definition:import', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011650, '流程定义发布/取消发布', 1761400000000011620, 7, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:definition:publish', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011651, '流程定义复制', 1761400000000011620, 8, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:definition:copy', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values (1761400000000011652, '流程定义激活/挂起', 1761400000000011620, 9, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:definition:active', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
|
||||
insert into sys_menu values(1761400000000011802, '流程达式定义查询', 1761400000000011801, 1, '#', '', NULL, 'N', 'Y', 'F', '0', '0', 'workflow:spel:query', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values(1761400000000011803, '流程达式定义新增', 1761400000000011801, 2, '#', '', NULL, 'N', 'Y', 'F', '0', '0', 'workflow:spel:add', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values(1761400000000011804, '流程达式定义修改', 1761400000000011801, 3, '#', '', NULL, 'N', 'Y', 'F', '0', '0', 'workflow:spel:edit', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values(1761400000000011805, '流程达式定义删除', 1761400000000011801, 4, '#', '', NULL, 'N', 'Y', 'F', '0', '0', 'workflow:spel:remove', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values(1761400000000011806, '流程达式定义导出', 1761400000000011801, 5, '#', '', NULL, 'N', 'Y', 'F', '0', '0', 'workflow:spel:export', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values(1761400000000011638, '请假申请', 1761400000000011616, 1, 'leave', 'workflow/leave/index', '', 'N', 'Y', 'C', '0', '0', 'workflow:leave:list', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '请假申请菜单');
|
||||
insert into sys_menu values(1761400000000011639, '请假申请查询', 1761400000000011638, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:leave:query', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values(1761400000000011640, '请假申请新增', 1761400000000011638, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:leave:add', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values(1761400000000011641, '请假申请修改', 1761400000000011638, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:leave:edit', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values(1761400000000011642, '请假申请删除', 1761400000000011638, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:leave:remove', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values(1761400000000011643, '请假申请导出', 1761400000000011638, 5, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:leave:export', '#', '', '', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '');
|
||||
insert into sys_user_role values (1761100000000000001, 1761300000000000001);
|
||||
insert into sys_user_post values (1761100000000000001, 1761200000000000001);
|
||||
insert into sys_dict_type values(1761500000000000001, '用户性别', 'sys_user_gender', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '用户性别列表');
|
||||
insert into sys_dict_type values(1761500000000000002, '菜单状态', 'sys_show_hide', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '菜单状态列表');
|
||||
insert into sys_dict_type values(1761500000000000003, '系统开关', 'sys_normal_disable', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '系统开关列表');
|
||||
insert into sys_dict_type values(1761500000000000006, '系统是否', 'sys_yes_no', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '系统是否列表');
|
||||
insert into sys_dict_type values(1761500000000000007, '通知类型', 'sys_notice_type', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '通知类型列表');
|
||||
insert into sys_dict_type values(1761500000000000008, '通知状态', 'sys_notice_status', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '通知状态列表');
|
||||
insert into sys_dict_type values(1761500000000000009, '操作类型', 'sys_oper_type', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '操作类型列表');
|
||||
insert into sys_dict_type values(1761500000000000010, '系统状态', 'sys_common_status', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '登录状态列表');
|
||||
insert into sys_dict_type values(1761500000000000011, '授权类型', 'sys_grant_type', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '认证授权类型');
|
||||
insert into sys_dict_type values(1761500000000000012, '设备类型', 'sys_device_type', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '客户端设备类型');
|
||||
insert into sys_dict_type values(1761500000000000013, '业务状态', 'wf_business_status', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '业务状态列表');
|
||||
insert into sys_dict_type values(1761500000000000014, '表单类型', 'wf_form_type', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '表单类型列表');
|
||||
insert into sys_dict_type values(1761500000000000015, '任务状态', 'wf_task_status', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '任务状态');
|
||||
insert into sys_dict_data values(1761600000000000001, 1, '男', '0', 'sys_user_gender', '', '', 'Y', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '性别男');
|
||||
insert into sys_dict_data values(1761600000000000002, 2, '女', '1', 'sys_user_gender', '', '', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '性别女');
|
||||
insert into sys_dict_data values(1761600000000000003, 3, '未知', '2', 'sys_user_gender', '', '', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '性别未知');
|
||||
insert into sys_dict_data values(1761600000000000004, 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '显示菜单');
|
||||
insert into sys_dict_data values(1761600000000000005, 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '隐藏菜单');
|
||||
insert into sys_dict_data values(1761600000000000006, 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '正常状态');
|
||||
insert into sys_dict_data values(1761600000000000007, 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '停用状态');
|
||||
insert into sys_dict_data values(1761600000000000012, 1, '是', 'Y', 'sys_yes_no', '', 'primary', 'Y', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '系统默认是');
|
||||
insert into sys_dict_data values(1761600000000000013, 2, '否', 'N', 'sys_yes_no', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '系统默认否');
|
||||
insert into sys_dict_data values(1761600000000000014, 1, '通知', '1', 'sys_notice_type', '', 'warning', 'Y', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '通知');
|
||||
insert into sys_dict_data values(1761600000000000015, 2, '公告', '2', 'sys_notice_type', '', 'success', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '公告');
|
||||
insert into sys_dict_data values(1761600000000000016, 1, '正常', '0', 'sys_notice_status', '', 'primary', 'Y', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '正常状态');
|
||||
insert into sys_dict_data values(1761600000000000017, 2, '关闭', '1', 'sys_notice_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '关闭状态');
|
||||
insert into sys_dict_data values(1761600000000000029, 99, '其他', '0', 'sys_oper_type', '', 'info', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '其他操作');
|
||||
insert into sys_dict_data values(1761600000000000018, 1, '新增', '1', 'sys_oper_type', '', 'info', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '新增操作');
|
||||
insert into sys_dict_data values(1761600000000000019, 2, '修改', '2', 'sys_oper_type', '', 'info', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '修改操作');
|
||||
insert into sys_dict_data values(1761600000000000020, 3, '删除', '3', 'sys_oper_type', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '删除操作');
|
||||
insert into sys_dict_data values(1761600000000000021, 4, '授权', '4', 'sys_oper_type', '', 'primary', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '授权操作');
|
||||
insert into sys_dict_data values(1761600000000000022, 5, '导出', '5', 'sys_oper_type', '', 'warning', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '导出操作');
|
||||
insert into sys_dict_data values(1761600000000000023, 6, '导入', '6', 'sys_oper_type', '', 'warning', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '导入操作');
|
||||
insert into sys_dict_data values(1761600000000000024, 7, '强退', '7', 'sys_oper_type', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '强退操作');
|
||||
insert into sys_dict_data values(1761600000000000025, 8, '生成代码', '8', 'sys_oper_type', '', 'warning', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '生成操作');
|
||||
insert into sys_dict_data values(1761600000000000026, 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '清空操作');
|
||||
insert into sys_dict_data values(1761600000000000027, 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '正常状态');
|
||||
insert into sys_dict_data values(1761600000000000028, 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '停用状态');
|
||||
insert into sys_dict_data values(1761600000000000030, 0, '密码认证', 'password', 'sys_grant_type', 'el-check-tag', 'default', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '密码认证');
|
||||
insert into sys_dict_data values(1761600000000000031, 0, '短信认证', 'sms', 'sys_grant_type', 'el-check-tag', 'default', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '短信认证');
|
||||
insert into sys_dict_data values(1761600000000000032, 0, '邮件认证', 'email', 'sys_grant_type', 'el-check-tag', 'default', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '邮件认证');
|
||||
insert into sys_dict_data values(1761600000000000033, 0, '小程序认证', 'xcx', 'sys_grant_type', 'el-check-tag', 'default', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '小程序认证');
|
||||
insert into sys_dict_data values(1761600000000000034, 0, '三方登录认证', 'social', 'sys_grant_type', 'el-check-tag', 'default', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '三方登录认证');
|
||||
insert into sys_dict_data values(1761600000000000035, 0, 'PC', 'pc', 'sys_device_type', '', 'default', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, 'PC');
|
||||
insert into sys_dict_data values(1761600000000000036, 0, '安卓', 'android', 'sys_device_type', '', 'default', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '安卓');
|
||||
insert into sys_dict_data values(1761600000000000037, 0, 'iOS', 'ios', 'sys_device_type', '', 'default', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, 'iOS');
|
||||
insert into sys_dict_data values(1761600000000000038, 0, '小程序', 'xcx', 'sys_device_type', '', 'default', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '小程序');
|
||||
insert into sys_dict_data values(1761600000000000039, 1, '已撤销', 'cancel', 'wf_business_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '已撤销');
|
||||
insert into sys_dict_data values(1761600000000000040, 2, '草稿', 'draft', 'wf_business_status', '', 'info', 'N', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '草稿');
|
||||
insert into sys_dict_data values(1761600000000000041, 3, '待审核', 'waiting', 'wf_business_status', '', 'primary', 'N', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '待审核');
|
||||
insert into sys_dict_data values(1761600000000000042, 4, '已完成', 'finish', 'wf_business_status', '', 'success', 'N', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '已完成');
|
||||
insert into sys_dict_data values(1761600000000000043, 5, '已作废', 'invalid', 'wf_business_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '已作废');
|
||||
insert into sys_dict_data values(1761600000000000044, 6, '已退回', 'back', 'wf_business_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '已退回');
|
||||
insert into sys_dict_data values(1761600000000000045, 7, '已终止', 'termination', 'wf_business_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '已终止');
|
||||
insert into sys_dict_data values(1761600000000000046, 1, '自定义表单', 'static', 'wf_form_type', '', 'success', 'N', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '自定义表单');
|
||||
insert into sys_dict_data values(1761600000000000047, 2, '动态表单', 'dynamic', 'wf_form_type', '', 'primary', 'N', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '动态表单');
|
||||
insert into sys_dict_data values(1761600000000000048, 1, '撤销', 'cancel', 'wf_task_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '撤销');
|
||||
insert into sys_dict_data values(1761600000000000049, 2, '通过', 'pass', 'wf_task_status', '', 'success', 'N', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '通过');
|
||||
insert into sys_dict_data values(1761600000000000050, 3, '待审核', 'waiting', 'wf_task_status', '', 'primary', 'N', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '待审核');
|
||||
insert into sys_dict_data values(1761600000000000051, 4, '作废', 'invalid', 'wf_task_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '作废');
|
||||
insert into sys_dict_data values(1761600000000000052, 5, '退回', 'back', 'wf_task_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '退回');
|
||||
insert into sys_dict_data values(1761600000000000053, 6, '终止', 'termination', 'wf_task_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '终止');
|
||||
insert into sys_dict_data values(1761600000000000054, 7, '转办', 'transfer', 'wf_task_status', '', 'primary', 'N', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '转办');
|
||||
insert into sys_dict_data values(1761600000000000055, 8, '委托', 'depute', 'wf_task_status', '', 'primary', 'N', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '委托');
|
||||
insert into sys_dict_data values(1761600000000000056, 9, '抄送', 'copy', 'wf_task_status', '', 'primary', 'N', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '抄送');
|
||||
insert into sys_dict_data values(1761600000000000057, 10, '加签', 'sign', 'wf_task_status', '', 'primary', 'N', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '加签');
|
||||
insert into sys_dict_data values(1761600000000000058, 11, '减签', 'sign_off', 'wf_task_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '减签');
|
||||
insert into sys_dict_data values(1761600000000000059, 11, '超时', 'timeout', 'wf_task_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, sysdate(), NULL, NULL, '超时');
|
||||
insert into sys_config values(1761700000000000001, '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '初始化密码 123456');
|
||||
insert into sys_config values(1761700000000000002, '账号自助-是否开启用户注册功能', 'sys.account.registerUser', 'false', 'Y', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '是否开启注册用户功能(true开启,false关闭)');
|
||||
insert into sys_config values(1761700000000000003, 'OSS预览列表资源开关', 'sys.oss.previewListResource', 'true', 'Y', 1761000000000000103, 1761100000000000001, sysdate(), null, null, 'true:开启, false:关闭');
|
||||
insert into sys_notice values(1761800000000000001, '温馨提醒:2018-07-01 新版本发布啦', '2', '新版本内容', '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '管理员');
|
||||
insert into sys_notice values(1761800000000000002, '维护通知:2018-07-01 系统凌晨维护', '1', '维护内容', '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '管理员');
|
||||
insert into sys_client values (1762000000000000001, 'e5cd7e4891bf95d1d19206ce24a7b32e', 'pc', 'pc123', 'password,social', 'pc', null, null, 1800, 604800, 0, 0, 1761000000000000103, 1761100000000000001, sysdate(), 1761100000000000001, sysdate());
|
||||
insert into sys_client values (1762000000000000002, '428a8310cd442757ae699df5d894f051', 'app', 'app123', 'password,sms,social', 'android', null, null, 1800, 604800, 0, 0, 1761000000000000103, 1761100000000000001, sysdate(), 1761100000000000001, sysdate());
|
||||
|
||||
--changeset seewis:system-mysql-soybean-menu-adaptation dbms:mysql splitStatements:true
|
||||
-- ### 管理端目录菜单
|
||||
update sys_menu set component = 'Layout', icon = 'carbon:cloud-service-management', menu_name = 'route.system' where menu_id = 1761400000000000001;
|
||||
update sys_menu set component = 'Layout', icon = 'stash:dashboard', menu_name = 'route.monitor' where menu_id = 1761400000000000002;
|
||||
update sys_menu set component = 'Layout', icon = 'tabler:tools', menu_name = 'route.tool' where menu_id = 1761400000000000003;
|
||||
update sys_menu set icon = 'tabler:logs', menu_name = 'menu.system_log' where menu_id = 1761400000000000108;
|
||||
|
||||
-- ### 管理端页面菜单
|
||||
update sys_menu set icon = 'ic:round-manage-accounts', menu_name = 'route.system_user' where menu_id = 1761400000000000100;
|
||||
update sys_menu set icon = 'carbon:user-role', menu_name = 'route.system_role' where menu_id = 1761400000000000101;
|
||||
update sys_menu set icon = 'material-symbols:route', menu_name = 'route.system_menu' where menu_id = 1761400000000000102;
|
||||
update sys_menu set icon = 'mingcute:department-line', menu_name = 'route.system_dept' where menu_id = 1761400000000000103;
|
||||
update sys_menu set icon = 'hugeicons:permanent-job', menu_name = 'route.system_post' where menu_id = 1761400000000000104;
|
||||
update sys_menu set icon = 'qlementine-icons:dictionary-16', menu_name = 'route.system_dict' where menu_id = 1761400000000000105;
|
||||
update sys_menu set icon = 'carbon:parameter', menu_name = 'route.system_config' where menu_id = 1761400000000000106;
|
||||
update sys_menu set icon = 'solar:chat-line-outline', menu_name = 'route.system_notice' where menu_id = 1761400000000000107;
|
||||
update sys_menu set icon = 'majesticons:status-online-line', menu_name = 'route.monitor_online' where menu_id = 1761400000000000109;
|
||||
update sys_menu set icon = 'simple-icons:redis', menu_name = 'route.monitor_cache' where menu_id = 1761400000000000113;
|
||||
update sys_menu set icon = 'material-symbols:code-blocks-outline', menu_name = 'route.tool_gen' where menu_id = 1761400000000000115;
|
||||
update sys_menu set icon = 'material-symbols:attach-file', menu_name = 'route.system_oss' where menu_id = 1761400000000000118;
|
||||
update sys_menu set icon = 'tabler:device-imac-cog', menu_name = 'route.system_client' where menu_id = 1761400000000000123;
|
||||
update sys_menu set icon = 'carbon:operations-record', menu_name = 'route.monitor_operlog' where menu_id = 1761400000000000500;
|
||||
update sys_menu set icon = 'tabler:login-2', menu_name = 'route.monitor_logininfor' where menu_id = 1761400000000000501;
|
||||
update sys_menu set path = 'oss/config', component = 'system/oss-config/index', icon = 'hugeicons:configuration-01', menu_name = 'route.system_oss-config' where menu_id = 1761400000000000133;
|
||||
|
||||
-- ### iframe 菜单
|
||||
update sys_menu set path = 'admin', component = 'FrameView', query_param = '{"url":"https://ruoyi.xlsea.cn/admin/"}', is_frame = 'N', is_cache = 'N', icon = 'bx:bxl-spring-boot', menu_name = 'menu.monitor_admin' where menu_id = 1761400000000000114;
|
||||
update sys_menu set path = 'snail-job', component = 'FrameView', query_param = '{"url":"https://preview.snailjob.opensnail.com/"}', is_frame = 'N', is_cache = 'N', icon = 'gridicons:scheduled', menu_name = 'menu.monitor_snail-job' where menu_id = 1761400000000000110;
|
||||
update sys_menu set component = 'FrameView' where menu_id in (1761400000000000112, 1761400000000000121);
|
||||
|
||||
-- ### 外链菜单
|
||||
update sys_menu set menu_name = 'RuoYi-Vue-Plus', order_num = 100, path = 'https://gitee.com/dromara/RuoYi-Vue-Plus', component = 'FrameView', icon = 'local-icon-gitee', remark = 'RuoYi-Vue-Plus 仓库地址' where menu_id = 1761400000000000004;
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, active_menu, ext, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1761400000000000009, 'route.about', 0, 99, 'about', 'about/index', '', 'N', 'N', 'C', '0', '0', '', 'fluent:book-information-24-regular', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '关于页面');
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, active_menu, ext, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1761400000000000007, 'Soybean Admin', 0, 100, 'https://github.com/soybeanjs', 'FrameView', '', 'Y', 'Y', 'M', '0', '0', '', 'mdi:github', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, 'Soybean Admin 仓库地址');
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, active_menu, ext, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1761400000000000008, 'RuoYi-Plus-Soybean', 0, 100, 'https://gitee.com/xlsea/ruoyi-plus-soybean', 'FrameView', '', 'Y', 'Y', 'M', '0', '0', '', 'local-icon-gitee', '', '', 1761000000000000103, 1761100000000000001, sysdate(), null, null, 'RuoYi-Plus-Soybean 仓库地址');
|
||||
|
||||
-- ### 管理端不支持的菜单
|
||||
update sys_menu set status = '1' where menu_id in (1761400000000000116, 1761400000000000130, 1761400000000000131, 1761400000000000132, 1761400000000011616, 1761400000000011618, 1761400000000011638, 1761400000000011700, 1761400000000011701);
|
||||
|
||||
--changeset seewis:system-mysql-soybean-dict-adaptation dbms:mysql splitStatements:true
|
||||
-- ### 管理端字典样式与多语言适配
|
||||
update sys_dict_data set list_class = 'error' where list_class = 'danger';
|
||||
update sys_dict_data set dict_label = 'dict.sys_user_sex.male' where dict_type = 'sys_user_gender' and dict_value = '0';
|
||||
update sys_dict_data set dict_label = 'dict.sys_user_sex.female' where dict_type = 'sys_user_gender' and dict_value = '1';
|
||||
update sys_dict_data set dict_label = 'dict.sys_user_sex.unknown' where dict_type = 'sys_user_gender' and dict_value = '2';
|
||||
update sys_dict_data set dict_label = 'dict.sys_show_hide.show' where dict_type = 'sys_show_hide' and dict_value = '0';
|
||||
update sys_dict_data set dict_label = 'dict.sys_show_hide.hide' where dict_type = 'sys_show_hide' and dict_value = '1';
|
||||
update sys_dict_data set dict_label = 'dict.sys_normal_disable.normal' where dict_type = 'sys_normal_disable' and dict_value = '0';
|
||||
update sys_dict_data set dict_label = 'dict.sys_normal_disable.disable' where dict_type = 'sys_normal_disable' and dict_value = '1';
|
||||
update sys_dict_data set dict_label = 'dict.sys_yes_no.yes' where dict_type = 'sys_yes_no' and dict_value = 'Y';
|
||||
update sys_dict_data set dict_label = 'dict.sys_yes_no.no' where dict_type = 'sys_yes_no' and dict_value = 'N';
|
||||
update sys_dict_data set dict_label = 'dict.sys_notice_type.notice' where dict_type = 'sys_notice_type' and dict_value = '1';
|
||||
update sys_dict_data set dict_label = 'dict.sys_notice_type.announcement' where dict_type = 'sys_notice_type' and dict_value = '2';
|
||||
update sys_dict_data set dict_label = 'dict.sys_notice_status.normal' where dict_type = 'sys_notice_status' and dict_value = '0';
|
||||
update sys_dict_data set dict_label = 'dict.sys_notice_status.close' where dict_type = 'sys_notice_status' and dict_value = '1';
|
||||
update sys_dict_data set dict_label = 'dict.sys_oper_type.other' where dict_type = 'sys_oper_type' and dict_value = '0';
|
||||
update sys_dict_data set dict_label = 'dict.sys_oper_type.insert' where dict_type = 'sys_oper_type' and dict_value = '1';
|
||||
update sys_dict_data set dict_label = 'dict.sys_oper_type.update' where dict_type = 'sys_oper_type' and dict_value = '2';
|
||||
update sys_dict_data set dict_label = 'dict.sys_oper_type.delete' where dict_type = 'sys_oper_type' and dict_value = '3';
|
||||
update sys_dict_data set dict_label = 'dict.sys_oper_type.grant' where dict_type = 'sys_oper_type' and dict_value = '4';
|
||||
update sys_dict_data set dict_label = 'dict.sys_oper_type.export' where dict_type = 'sys_oper_type' and dict_value = '5';
|
||||
update sys_dict_data set dict_label = 'dict.sys_oper_type.import' where dict_type = 'sys_oper_type' and dict_value = '6';
|
||||
update sys_dict_data set dict_label = 'dict.sys_oper_type.force' where dict_type = 'sys_oper_type' and dict_value = '7';
|
||||
update sys_dict_data set dict_label = 'dict.sys_oper_type.gencode' where dict_type = 'sys_oper_type' and dict_value = '8';
|
||||
update sys_dict_data set dict_label = 'dict.sys_oper_type.clean' where dict_type = 'sys_oper_type' and dict_value = '9';
|
||||
update sys_dict_data set dict_label = 'dict.sys_common_status.success' where dict_type = 'sys_common_status' and dict_value = '0';
|
||||
update sys_dict_data set dict_label = 'dict.sys_common_status.fail' where dict_type = 'sys_common_status' and dict_value = '1';
|
||||
update sys_dict_data set dict_label = 'dict.sys_grant_type.password' where dict_type = 'sys_grant_type' and dict_value = 'password';
|
||||
update sys_dict_data set dict_label = 'dict.sys_grant_type.sms' where dict_type = 'sys_grant_type' and dict_value = 'sms';
|
||||
update sys_dict_data set dict_label = 'dict.sys_grant_type.email' where dict_type = 'sys_grant_type' and dict_value = 'email';
|
||||
update sys_dict_data set dict_label = 'dict.sys_grant_type.miniapp' where dict_type = 'sys_grant_type' and dict_value = 'xcx';
|
||||
update sys_dict_data set dict_label = 'dict.sys_grant_type.social' where dict_type = 'sys_grant_type' and dict_value = 'social';
|
||||
update sys_dict_data set dict_label = 'dict.sys_device_type.pc' where dict_type = 'sys_device_type' and dict_value = 'pc';
|
||||
update sys_dict_data set dict_label = 'dict.sys_device_type.android' where dict_type = 'sys_device_type' and dict_value = 'android';
|
||||
update sys_dict_data set dict_label = 'dict.sys_device_type.ios' where dict_type = 'sys_device_type' and dict_value = 'ios';
|
||||
update sys_dict_data set dict_label = 'dict.sys_device_type.miniapp' where dict_type = 'sys_device_type' and dict_value = 'xcx';
|
||||
update sys_dict_data set dict_label = 'dict.wf_business_status.revoked' where dict_type = 'wf_business_status' and dict_value = 'cancel';
|
||||
update sys_dict_data set dict_label = 'dict.wf_business_status.draft' where dict_type = 'wf_business_status' and dict_value = 'draft';
|
||||
update sys_dict_data set dict_label = 'dict.wf_business_status.pending' where dict_type = 'wf_business_status' and dict_value = 'waiting';
|
||||
update sys_dict_data set dict_label = 'dict.wf_business_status.completed' where dict_type = 'wf_business_status' and dict_value = 'finish';
|
||||
update sys_dict_data set dict_label = 'dict.wf_business_status.cancelled' where dict_type = 'wf_business_status' and dict_value = 'invalid';
|
||||
update sys_dict_data set dict_label = 'dict.wf_business_status.returned' where dict_type = 'wf_business_status' and dict_value = 'back';
|
||||
update sys_dict_data set dict_label = 'dict.wf_business_status.terminated' where dict_type = 'wf_business_status' and dict_value = 'termination';
|
||||
update sys_dict_data set dict_label = 'dict.wf_form_type.custom_form' where dict_type = 'wf_form_type' and dict_value = 'static';
|
||||
update sys_dict_data set dict_label = 'dict.wf_form_type.dynamic_form' where dict_type = 'wf_form_type' and dict_value = 'dynamic';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.revoke' where dict_type = 'wf_task_status' and dict_value = 'cancel';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.pass' where dict_type = 'wf_task_status' and dict_value = 'pass';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.pending_review' where dict_type = 'wf_task_status' and dict_value = 'waiting';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.cancel' where dict_type = 'wf_task_status' and dict_value = 'invalid';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.return' where dict_type = 'wf_task_status' and dict_value = 'back';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.terminate' where dict_type = 'wf_task_status' and dict_value = 'termination';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.transfer' where dict_type = 'wf_task_status' and dict_value = 'transfer';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.delegate' where dict_type = 'wf_task_status' and dict_value = 'depute';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.copy' where dict_type = 'wf_task_status' and dict_value = 'copy';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.add_sign' where dict_type = 'wf_task_status' and dict_value = 'sign';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.minus_sign' where dict_type = 'wf_task_status' and dict_value = 'sign_off';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.timeout' where dict_type = 'wf_task_status' and dict_value = 'timeout';
|
||||
|
||||
-- ### 前端兼容的用户性别字典
|
||||
insert into sys_dict_type (dict_id, dict_name, dict_type, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
select 1761500000000000016, '用户性别', 'sys_user_sex', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '管理端用户性别字典' from dual
|
||||
where not exists (select 1 from sys_dict_type where dict_type = 'sys_user_sex');
|
||||
insert into sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
select 1761600000000000060, 1, 'dict.sys_user_sex.male', '0', 'sys_user_sex', '', '', 'Y', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '性别男' from dual
|
||||
where not exists (select 1 from sys_dict_data where dict_type = 'sys_user_sex' and dict_value = '0');
|
||||
insert into sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
select 1761600000000000061, 2, 'dict.sys_user_sex.female', '1', 'sys_user_sex', '', '', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '性别女' from dual
|
||||
where not exists (select 1 from sys_dict_data where dict_type = 'sys_user_sex' and dict_value = '1');
|
||||
insert into sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
select 1761600000000000062, 3, 'dict.sys_user_sex.unknown', '2', 'sys_user_sex', '', '', 'N', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '性别未知' from dual
|
||||
where not exists (select 1 from sys_dict_data where dict_type = 'sys_user_sex' and dict_value = '2');
|
||||
@@ -0,0 +1,324 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset seewis:system-mysql-table-baseline dbms:mysql splitStatements:true
|
||||
-- ### 社会化关系表:第三方平台授权与用户关联信息
|
||||
create table sys_social
|
||||
(
|
||||
id bigint not null comment '主键',
|
||||
user_id bigint not null comment '用户ID',
|
||||
auth_id varchar(255) not null comment '平台+平台唯一id',
|
||||
source varchar(255) not null comment '用户来源',
|
||||
open_id varchar(255) default null comment '平台编号唯一id',
|
||||
user_name varchar(30) not null comment '登录账号',
|
||||
nick_name varchar(30) default '' comment '用户昵称',
|
||||
email varchar(255) default '' comment '用户邮箱',
|
||||
avatar varchar(500) default '' comment '头像地址',
|
||||
access_token varchar(2000) not null comment '用户的授权令牌',
|
||||
expire_in int default null comment '用户的授权令牌的有效期,部分平台可能没有',
|
||||
refresh_token varchar(2000) default null comment '刷新令牌,部分平台可能没有',
|
||||
access_code varchar(255) default null comment '平台的授权信息,部分平台可能没有',
|
||||
union_id varchar(255) default null comment '用户的 unionid',
|
||||
scope varchar(255) default null comment '授予的权限,部分平台可能没有',
|
||||
token_type varchar(255) default null comment '个别平台的授权信息,部分平台可能没有',
|
||||
id_token varchar(2000) default null comment 'id token,部分平台可能没有',
|
||||
mac_algorithm varchar(255) default null comment '小米平台用户的附带属性,部分平台可能没有',
|
||||
mac_key varchar(255) default null comment '小米平台用户的附带属性,部分平台可能没有',
|
||||
code varchar(255) default null comment '用户的授权code,部分平台可能没有',
|
||||
oauth_token varchar(255) default null comment 'Twitter平台用户的附带属性,部分平台可能没有',
|
||||
oauth_token_secret varchar(255) default null comment 'Twitter平台用户的附带属性,部分平台可能没有',
|
||||
create_dept bigint(20) comment '创建部门',
|
||||
create_by bigint(20) comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by bigint(20) comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
del_flag char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
|
||||
PRIMARY KEY (id)
|
||||
) engine=innodb comment = '社会化关系表';
|
||||
-- ### 部门表
|
||||
create table sys_dept (
|
||||
dept_id bigint(20) not null comment '部门id',
|
||||
parent_id bigint(20) default 0 comment '父部门id',
|
||||
ancestors varchar(500) default '' comment '祖级列表',
|
||||
dept_name varchar(30) default '' comment '部门名称',
|
||||
dept_category varchar(100) default null comment '部门类别编码',
|
||||
order_num int(4) default 0 comment '显示顺序',
|
||||
leader bigint(20) default null comment '负责人',
|
||||
phone varchar(11) default null comment '联系电话',
|
||||
email varchar(50) default null comment '邮箱',
|
||||
status char(1) default '0' comment '部门状态(0正常 1停用)',
|
||||
del_flag char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
|
||||
create_dept bigint(20) default null comment '创建部门',
|
||||
create_by bigint(20) default null comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by bigint(20) default null comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
primary key (dept_id),
|
||||
key idx_sys_dept_parent_id (parent_id)
|
||||
) engine=innodb comment = '部门表';
|
||||
-- ### 用户表
|
||||
create table sys_user (
|
||||
user_id bigint(20) not null comment '用户ID',
|
||||
dept_id bigint(20) default null comment '部门ID',
|
||||
user_name varchar(30) not null comment '用户账号',
|
||||
nick_name varchar(30) not null comment '用户昵称',
|
||||
user_type varchar(10) default 'sys_user' comment '用户类型(sys_user系统用户)',
|
||||
email varchar(50) default '' comment '用户邮箱',
|
||||
phone_number varchar(11) default '' comment '手机号码',
|
||||
gender char(1) default '0' comment '用户性别(0男 1女 2未知)',
|
||||
avatar bigint(20) comment '头像地址',
|
||||
password varchar(100) default '' comment '密码',
|
||||
status char(1) default '0' comment '账号状态(0正常 1停用)',
|
||||
del_flag char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
|
||||
login_ip varchar(128) default '' comment '最后登录IP',
|
||||
login_date datetime comment '最后登录时间',
|
||||
create_dept bigint(20) default null comment '创建部门',
|
||||
create_by bigint(20) default null comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by bigint(20) default null comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
remark varchar(500) default null comment '备注',
|
||||
primary key (user_id),
|
||||
key idx_sys_user_dept_id (dept_id),
|
||||
key idx_sys_user_create_by (create_by),
|
||||
key idx_sys_user_user_name (user_name),
|
||||
key idx_sys_user_phone (phone_number)
|
||||
) engine=innodb comment = '用户信息表';
|
||||
-- ### 岗位表
|
||||
create table sys_post
|
||||
(
|
||||
post_id bigint(20) not null comment '岗位ID',
|
||||
dept_id bigint(20) not null comment '部门id',
|
||||
post_code varchar(64) not null comment '岗位编码',
|
||||
post_category varchar(100) default null comment '岗位类别编码',
|
||||
post_name varchar(50) not null comment '岗位名称',
|
||||
post_sort int(4) not null comment '显示顺序',
|
||||
status char(1) not null comment '状态(0正常 1停用)',
|
||||
del_flag char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
|
||||
create_dept bigint(20) default null comment '创建部门',
|
||||
create_by bigint(20) default null comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by bigint(20) default null comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
remark varchar(500) default null comment '备注',
|
||||
primary key (post_id),
|
||||
key idx_sys_post_dept_id (dept_id)
|
||||
) engine=innodb comment = '岗位信息表';
|
||||
-- ### 角色表
|
||||
create table sys_role (
|
||||
role_id bigint(20) not null comment '角色ID',
|
||||
role_name varchar(30) not null comment '角色名称',
|
||||
role_key varchar(100) not null comment '角色权限字符串',
|
||||
role_sort int(4) not null comment '显示顺序',
|
||||
data_scope char(1) default '1' comment '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限 5:仅本人数据权限 6:部门及以下或本人数据权限)',
|
||||
menu_check_strictly tinyint(1) default 1 comment '菜单树选择项是否关联显示',
|
||||
dept_check_strictly tinyint(1) default 1 comment '部门树选择项是否关联显示',
|
||||
status char(1) not null comment '角色状态(0正常 1停用)',
|
||||
del_flag char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
|
||||
create_dept bigint(20) default null comment '创建部门',
|
||||
create_by bigint(20) default null comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by bigint(20) default null comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
remark varchar(500) default null comment '备注',
|
||||
primary key (role_id),
|
||||
key idx_sys_role_create_dept (create_dept),
|
||||
key idx_sys_role_create_by (create_by)
|
||||
) engine=innodb comment = '角色信息表';
|
||||
-- ### 菜单权限表
|
||||
create table sys_menu (
|
||||
menu_id bigint(20) not null comment '菜单ID',
|
||||
menu_name varchar(50) not null comment '菜单名称',
|
||||
parent_id bigint(20) default 0 comment '父菜单ID',
|
||||
order_num int(4) default 0 comment '显示顺序',
|
||||
path varchar(200) default '' comment '路由地址',
|
||||
component varchar(255) default null comment '组件路径',
|
||||
query_param varchar(255) default null comment '路由参数',
|
||||
is_frame char(1) default 'N' comment '是否为外链(Y是 N否)',
|
||||
is_cache char(1) default 'Y' comment '是否缓存(Y缓存 N不缓存)',
|
||||
menu_type char(1) default '' comment '菜单类型(M目录 C菜单 F按钮)',
|
||||
visible char(1) default 0 comment '显示状态(0显示 1隐藏)',
|
||||
status char(1) default 0 comment '菜单状态(0正常 1停用)',
|
||||
perms varchar(100) default null comment '权限标识',
|
||||
icon varchar(100) default '#' comment '菜单图标',
|
||||
active_menu varchar(255) default '' comment '激活菜单路径',
|
||||
ext varchar(2000) default '' comment '扩展字段',
|
||||
create_dept bigint(20) default null comment '创建部门',
|
||||
create_by bigint(20) default null comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by bigint(20) default null comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
remark varchar(500) default '' comment '备注',
|
||||
primary key (menu_id)
|
||||
) engine=innodb comment = '菜单权限表';
|
||||
-- ### 用户角色关联表
|
||||
create table sys_user_role (
|
||||
user_id bigint(20) not null comment '用户ID',
|
||||
role_id bigint(20) not null comment '角色ID',
|
||||
primary key(user_id, role_id),
|
||||
key idx_sys_user_role_rid (role_id)
|
||||
) engine=innodb comment = '用户和角色关联表';
|
||||
-- ### 角色菜单关联表
|
||||
create table sys_role_menu (
|
||||
role_id bigint(20) not null comment '角色ID',
|
||||
menu_id bigint(20) not null comment '菜单ID',
|
||||
primary key(role_id, menu_id)
|
||||
) engine=innodb comment = '角色和菜单关联表';
|
||||
-- ### 角色部门关联表
|
||||
create table sys_role_dept (
|
||||
role_id bigint(20) not null comment '角色ID',
|
||||
dept_id bigint(20) not null comment '部门ID',
|
||||
primary key(role_id, dept_id)
|
||||
) engine=innodb comment = '角色和部门关联表';
|
||||
-- ### 用户岗位关联表
|
||||
create table sys_user_post
|
||||
(
|
||||
user_id bigint(20) not null comment '用户ID',
|
||||
post_id bigint(20) not null comment '岗位ID',
|
||||
primary key (user_id, post_id)
|
||||
) engine=innodb comment = '用户与岗位关联表';
|
||||
-- ### 操作日志表
|
||||
create table sys_oper_log (
|
||||
oper_id bigint(20) not null comment '日志主键',
|
||||
title varchar(50) default '' comment '模块标题',
|
||||
business_type int(2) default 0 comment '业务类型(0其它 1新增 2修改 3删除)',
|
||||
method varchar(100) default '' comment '方法名称',
|
||||
request_method varchar(10) default '' comment '请求方式',
|
||||
operator_type int(1) default 0 comment '操作类别(0其它 1后台用户 2手机端用户)',
|
||||
oper_name varchar(50) default '' comment '操作人员',
|
||||
user_id bigint(20) default null comment '操作用户ID',
|
||||
dept_id bigint(20) default null comment '操作部门ID',
|
||||
dept_name varchar(50) default '' comment '部门名称',
|
||||
client_key varchar(32) default '' comment '客户端',
|
||||
device_type varchar(32) default '' comment '设备类型',
|
||||
browser varchar(50) default '' comment '浏览器类型',
|
||||
os varchar(50) default '' comment '操作系统',
|
||||
oper_url varchar(255) default '' comment '请求URL',
|
||||
oper_ip varchar(128) default '' comment '主机地址',
|
||||
oper_location varchar(255) default '' comment '操作地点',
|
||||
oper_param varchar(4000) default '' comment '请求参数',
|
||||
json_result varchar(4000) default '' comment '返回参数',
|
||||
status int(1) default 0 comment '操作状态(0正常 1异常)',
|
||||
error_msg varchar(4000) default '' comment '错误消息',
|
||||
oper_time datetime comment '操作时间',
|
||||
cost_time bigint(20) default 0 comment '消耗时间',
|
||||
primary key (oper_id),
|
||||
key idx_sys_oper_log_bt (business_type),
|
||||
key idx_sys_oper_log_uid (user_id),
|
||||
key idx_sys_oper_log_s (status),
|
||||
key idx_sys_oper_log_ot (oper_time)
|
||||
) engine=innodb comment = '操作日志记录';
|
||||
-- ### 字典类型表
|
||||
create table sys_dict_type
|
||||
(
|
||||
dict_id bigint(20) not null comment '字典主键',
|
||||
dict_name varchar(100) default '' comment '字典名称',
|
||||
dict_type varchar(100) default '' comment '字典类型',
|
||||
create_dept bigint(20) default null comment '创建部门',
|
||||
create_by bigint(20) default null comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by bigint(20) default null comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
remark varchar(500) default null comment '备注',
|
||||
primary key (dict_id),
|
||||
unique (dict_type)
|
||||
) engine=innodb comment = '字典类型表';
|
||||
-- ### 字典数据表
|
||||
create table sys_dict_data
|
||||
(
|
||||
dict_code bigint(20) not null comment '字典编码',
|
||||
dict_sort int(4) default 0 comment '字典排序',
|
||||
dict_label varchar(100) default '' comment '字典标签',
|
||||
dict_value varchar(100) default '' comment '字典键值',
|
||||
dict_type varchar(100) default '' comment '字典类型',
|
||||
css_class varchar(100) default null comment '样式属性(其他样式扩展)',
|
||||
list_class varchar(100) default null comment '表格回显样式',
|
||||
is_default char(1) default 'N' comment '是否默认(Y是 N否)',
|
||||
create_dept bigint(20) default null comment '创建部门',
|
||||
create_by bigint(20) default null comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by bigint(20) default null comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
remark varchar(500) default null comment '备注',
|
||||
primary key (dict_code),
|
||||
key idx_sys_dict_data_type (dict_type)
|
||||
) engine=innodb comment = '字典数据表';
|
||||
-- ### 参数配置表
|
||||
create table sys_config (
|
||||
config_id bigint(20) not null comment '参数主键',
|
||||
config_name varchar(100) default '' comment '参数名称',
|
||||
config_key varchar(100) default '' comment '参数键名',
|
||||
config_value varchar(500) default '' comment '参数键值',
|
||||
config_type char(1) default 'N' comment '系统内置(Y是 N否)',
|
||||
create_dept bigint(20) default null comment '创建部门',
|
||||
create_by bigint(20) default null comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by bigint(20) default null comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
remark varchar(500) default null comment '备注',
|
||||
primary key (config_id)
|
||||
) engine=innodb comment = '参数配置表';
|
||||
-- ### 登录日志表
|
||||
create table sys_login_info (
|
||||
info_id bigint(20) not null comment '访问ID',
|
||||
user_name varchar(50) default '' comment '用户账号',
|
||||
client_key varchar(32) default '' comment '客户端',
|
||||
device_type varchar(32) default '' comment '设备类型',
|
||||
ipaddr varchar(128) default '' comment '登录IP地址',
|
||||
login_location varchar(255) default '' comment '登录地点',
|
||||
browser varchar(50) default '' comment '浏览器类型',
|
||||
os varchar(50) default '' comment '操作系统',
|
||||
status char(1) default '0' comment '登录状态(0正常 1异常)',
|
||||
msg varchar(255) default '' comment '提示消息',
|
||||
login_time datetime comment '访问时间',
|
||||
primary key (info_id),
|
||||
key idx_sys_login_info_s (status),
|
||||
key idx_sys_login_info_lt (login_time)
|
||||
) engine=innodb comment = '系统访问记录';
|
||||
-- ### 通知公告表
|
||||
create table sys_notice (
|
||||
notice_id bigint(20) not null comment '公告ID',
|
||||
notice_title varchar(50) not null comment '公告标题',
|
||||
notice_type char(1) not null comment '公告类型(1通知 2公告)',
|
||||
notice_content longblob default null comment '公告内容',
|
||||
status char(1) default '0' comment '公告状态(0正常 1关闭)',
|
||||
create_dept bigint(20) default null comment '创建部门',
|
||||
create_by bigint(20) default null comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by bigint(20) default null comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
remark varchar(255) default null comment '备注',
|
||||
primary key (notice_id)
|
||||
) engine=innodb comment = '通知公告表';
|
||||
-- ### 客户端授权表
|
||||
create table sys_client (
|
||||
id bigint(20) not null comment 'id',
|
||||
client_id varchar(64) default null comment '客户端id',
|
||||
client_key varchar(32) default null comment '客户端key',
|
||||
client_secret varchar(255) default null comment '客户端秘钥',
|
||||
grant_type varchar(255) default null comment '授权类型',
|
||||
device_type varchar(32) default null comment '设备类型',
|
||||
access_path varchar(1024) default null comment '允许访问路径',
|
||||
ip_whitelist varchar(1024) default null comment 'IP白名单',
|
||||
active_timeout int(11) default 1800 comment 'token活跃超时时间',
|
||||
timeout int(11) default 604800 comment 'token固定超时',
|
||||
status char(1) default '0' comment '状态(0正常 1停用)',
|
||||
del_flag char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
|
||||
create_dept bigint(20) default null comment '创建部门',
|
||||
create_by bigint(20) default null comment '创建者',
|
||||
create_time datetime default null comment '创建时间',
|
||||
update_by bigint(20) default null comment '更新者',
|
||||
update_time datetime default null comment '更新时间',
|
||||
primary key (id)
|
||||
) engine=innodb comment='系统授权表';
|
||||
-- ### Seata AT事务回滚日志表
|
||||
CREATE TABLE IF NOT EXISTS undo_log
|
||||
(
|
||||
branch_id BIGINT(20) NOT NULL COMMENT 'branch transaction id',
|
||||
xid VARCHAR(100) NOT NULL COMMENT 'global transaction id',
|
||||
context VARCHAR(128) NOT NULL COMMENT 'undo_log context,such as serialization',
|
||||
rollback_info LONGBLOB NOT NULL COMMENT 'rollback info',
|
||||
log_status INT(11) NOT NULL COMMENT '0:normal status,1:defense status',
|
||||
log_created DATETIME(6) NOT NULL COMMENT 'create datetime',
|
||||
log_modified DATETIME(6) NOT NULL COMMENT 'modify datetime',
|
||||
UNIQUE KEY ux_undo_log (xid, branch_id)
|
||||
) ENGINE = InnoDB COMMENT ='AT transaction mode undo table';
|
||||
+354
@@ -0,0 +1,354 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset seewis:system-postgresql-data-baseline dbms:postgresql splitStatements:false
|
||||
insert into sys_dept values(1761000000000000100, 0, '0', 'XXX科技', null, 0, null, '15888888888', 'xxx@qq.com', '0', '0', 1761000000000000103, 1761100000000000001, now(), null, null);
|
||||
insert into sys_dept values(1761000000000000101, 1761000000000000100, '0,1761000000000000100', '深圳总公司', null, 1, null, '15888888888', 'xxx@qq.com', '0', '0', 1761000000000000103, 1761100000000000001, now(), null, null);
|
||||
insert into sys_dept values(1761000000000000102, 1761000000000000100, '0,1761000000000000100', '长沙分公司', null, 2, null, '15888888888', 'xxx@qq.com', '0', '0', 1761000000000000103, 1761100000000000001, now(), null, null);
|
||||
insert into sys_dept values(1761000000000000103, 1761000000000000101, '0,1761000000000000100,1761000000000000101', '研发部门', null, 1, 1761100000000000001, '15888888888', 'xxx@qq.com', '0', '0', 1761000000000000103, 1761100000000000001, now(), null, null);
|
||||
insert into sys_dept values(1761000000000000104, 1761000000000000101, '0,1761000000000000100,1761000000000000101', '市场部门', null, 2, null, '15888888888', 'xxx@qq.com', '0', '0', 1761000000000000103, 1761100000000000001, now(), null, null);
|
||||
insert into sys_dept values(1761000000000000105, 1761000000000000101, '0,1761000000000000100,1761000000000000101', '测试部门', null, 3, null, '15888888888', 'xxx@qq.com', '0', '0', 1761000000000000103, 1761100000000000001, now(), null, null);
|
||||
insert into sys_dept values(1761000000000000106, 1761000000000000101, '0,1761000000000000100,1761000000000000101', '财务部门', null, 4, null, '15888888888', 'xxx@qq.com', '0', '0', 1761000000000000103, 1761100000000000001, now(), null, null);
|
||||
insert into sys_dept values(1761000000000000107, 1761000000000000101, '0,1761000000000000100,1761000000000000101', '运维部门', null, 5, null, '15888888888', 'xxx@qq.com', '0', '0', 1761000000000000103, 1761100000000000001, now(), null, null);
|
||||
insert into sys_dept values(1761000000000000108, 1761000000000000102, '0,1761000000000000100,1761000000000000102', '市场部门', null, 1, null, '15888888888', 'xxx@qq.com', '0', '0', 1761000000000000103, 1761100000000000001, now(), null, null);
|
||||
insert into sys_dept values(1761000000000000109, 1761000000000000102, '0,1761000000000000100,1761000000000000102', '财务部门', null, 2, null, '15888888888', 'xxx@qq.com', '0', '0', 1761000000000000103, 1761100000000000001, now(), null, null);
|
||||
insert into sys_user values(1761100000000000001, 1761000000000000103, 'admin', '疯狂的狮子Li', 'sys_user', 'crazyLionLi@163.com', '15888888888', '1', null, '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', now(), 1761000000000000103, 1761100000000000001, now(), null, null, '管理员');
|
||||
insert into sys_post values(1761200000000000001, 1761000000000000103, 'ceo', null, '董事长', 1, '0', '0', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_post values(1761200000000000002, 1761000000000000100, 'se', null, '项目经理', 2, '0', '0', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_post values(1761200000000000003, 1761000000000000100, 'hr', null, '人力资源', 3, '0', '0', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_post values(1761200000000000004, 1761000000000000100, 'user', null, '普通员工', 4, '0', '0', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_role values(1761300000000000001, '超级管理员', 'superadmin', 1, '1', 't', 't', '0', '0', 1761000000000000103, 1761100000000000001, now(), null, null, '超级管理员');
|
||||
insert into sys_menu values(1761400000000000001, '系统管理', 0, 1, 'system', null, '', 'N', 'Y', 'M', '0', '0', '', 'system', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '系统管理目录');
|
||||
insert into sys_menu values(1761400000000000002, '系统监控', 0, 3, 'monitor', null, '', 'N', 'Y', 'M', '0', '0', '', 'monitor', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '系统监控目录');
|
||||
insert into sys_menu values(1761400000000000003, '系统工具', 0, 4, 'tool', null, '', 'N', 'Y', 'M', '0', '0', '', 'tool', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '系统工具目录');
|
||||
insert into sys_menu values(1761400000000000004, 'PLUS官网', 0, 9, 'https://gitee.com/dromara/RuoYi-Cloud-Plus', null, '', 'Y', 'Y', 'M', '0', '0', '', 'guide', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, 'RuoYi-Vue-Plus官网地址');
|
||||
insert into sys_menu values(1761400000000000100, '用户管理', 1761400000000000001, 1, 'user', 'system/user/index', '', 'N', 'Y', 'C', '0', '0', 'system:user:list', 'user', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '用户管理菜单');
|
||||
insert into sys_menu values(1761400000000000101, '角色管理', 1761400000000000001, 2, 'role', 'system/role/index', '', 'N', 'Y', 'C', '0', '0', 'system:role:list', 'peoples', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '角色管理菜单');
|
||||
insert into sys_menu values(1761400000000000102, '菜单管理', 1761400000000000001, 3, 'menu', 'system/menu/index', '', 'N', 'Y', 'C', '0', '0', 'system:menu:list', 'tree-table', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '菜单管理菜单');
|
||||
insert into sys_menu values(1761400000000000103, '部门管理', 1761400000000000001, 4, 'dept', 'system/dept/index', '', 'N', 'Y', 'C', '0', '0', 'system:dept:list', 'tree', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '部门管理菜单');
|
||||
insert into sys_menu values(1761400000000000104, '岗位管理', 1761400000000000001, 5, 'post', 'system/post/index', '', 'N', 'Y', 'C', '0', '0', 'system:post:list', 'post', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '岗位管理菜单');
|
||||
insert into sys_menu values(1761400000000000105, '字典管理', 1761400000000000001, 6, 'dict', 'system/dict/index', '', 'N', 'Y', 'C', '0', '0', 'system:dict:list', 'dict', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '字典管理菜单');
|
||||
insert into sys_menu values(1761400000000000106, '参数设置', 1761400000000000001, 7, 'config', 'system/config/index', '', 'N', 'Y', 'C', '0', '0', 'system:config:list', 'edit', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '参数设置菜单');
|
||||
insert into sys_menu values(1761400000000000107, '通知公告', 1761400000000000001, 8, 'notice', 'system/notice/index', '', 'N', 'Y', 'C', '0', '0', 'system:notice:list', 'message', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '通知公告菜单');
|
||||
insert into sys_menu values(1761400000000000108, '日志管理', 1761400000000000001, 9, 'log', '', '', 'N', 'Y', 'M', '0', '0', '', 'log', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '日志管理菜单');
|
||||
insert into sys_menu values(1761400000000000109, '在线用户', 1761400000000000002, 1, 'online', 'monitor/online/index', '', 'N', 'Y', 'C', '0', '0', 'monitor:online:list', 'online', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '在线用户菜单');
|
||||
insert into sys_menu values(1761400000000000113, '缓存监控', 1761400000000000002, 5, 'cache', 'monitor/cache/index', '', 'N', 'Y', 'C', '0', '0', 'monitor:cache:list', 'redis', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '缓存监控菜单');
|
||||
insert into sys_menu values(1761400000000000110, 'SnailJob控制台', 1761400000000000002, 2, 'http://localhost:8800/snail-job', '', '', 'Y', 'Y', 'C', '0', '0', 'monitor:job:list', 'job', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, 'SJ定时任务菜单');
|
||||
insert into sys_menu values(1761400000000000121, 'AI控制台', 1761400000000000002, 7, 'http://localhost:8900/snail-ai', '', '', 'Y', 'Y', 'C', '0', '0', 'monitor:snailai:list', 'checkbox', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, 'AI控制台菜单');
|
||||
insert into sys_menu values(1761400000000000112, 'Nacos控制台', 1761400000000000002, 4, 'http://localhost:8848/nacos', '', '', 'Y', 'Y', 'C', '0', '0', 'monitor:nacos:list', 'nacos', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '服务治理菜单');
|
||||
insert into sys_menu values(1761400000000000114, 'Admin控制台', 1761400000000000002, 5, 'http://localhost:9100/login', '', '', 'Y', 'Y', 'C', '0', '0', 'monitor:server:list', 'server', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '服务监控菜单');
|
||||
insert into sys_menu values(1761400000000000115, '代码生成', 1761400000000000003, 2, 'gen', 'tool/gen/index', '', 'N', 'Y', 'C', '0', '0', 'tool:gen:list', 'code', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '代码生成菜单');
|
||||
insert into sys_menu values(1761400000000000123, '客户端管理', 1761400000000000001, 11, 'client', 'system/client/index', '', 'N', 'Y', 'C', '0', '0', 'system:client:list', 'international', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '客户端管理菜单');
|
||||
insert into sys_menu values(1761400000000000116, '修改生成配置', 1761400000000000003, 2, 'gen-edit/index/:tableId', 'tool/gen/editTable', '', 'N', 'N', 'C', '1', '0', 'tool:gen:edit', '#', '/tool/gen', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000000130, '分配用户', 1761400000000000001, 2, 'role-auth/user/:roleId', 'system/role/authUser', '', 'N', 'N', 'C', '1', '0', 'system:role:edit', '#', '/system/role', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000000131, '分配角色', 1761400000000000001, 1, 'user-auth/role/:userId', 'system/user/authRole', '', 'N', 'N', 'C', '1', '0', 'system:user:edit', '#', '/system/user', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000000133, '文件配置管理', 1761400000000000001, 10, 'oss-config/index', 'system/oss/config', '', 'N', 'N', 'C', '1', '0', 'system:ossConfig:list', '#', '/system/oss', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000000118, '文件管理', 1761400000000000001, 10, 'oss', 'system/oss/index', '', 'N', 'Y', 'C', '0', '0', 'system:oss:list', 'upload', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '文件管理菜单');
|
||||
insert into sys_menu values(1761400000000000500, '操作日志', 1761400000000000108, 1, 'operlog', 'monitor/operlog/index', '', 'N', 'Y', 'C', '0', '0', 'monitor:operlog:list', 'form', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '操作日志菜单');
|
||||
insert into sys_menu values(1761400000000000501, '登录日志', 1761400000000000108, 2, 'logininfo', 'monitor/logininfo/index', '', 'N', 'Y', 'C', '0', '0', 'monitor:logininfo:list', 'logininfo', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '登录日志菜单');
|
||||
insert into sys_menu values(1761400000000001001, '用户查询', 1761400000000000100, 1, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:user:query', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001002, '用户新增', 1761400000000000100, 2, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:user:add', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001003, '用户修改', 1761400000000000100, 3, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:user:edit', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001004, '用户删除', 1761400000000000100, 4, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:user:remove', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001005, '用户导出', 1761400000000000100, 5, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:user:export', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001006, '用户导入', 1761400000000000100, 6, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:user:import', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001007, '重置密码', 1761400000000000100, 7, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:user:resetPwd', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001008, '角色查询', 1761400000000000101, 1, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:role:query', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001009, '角色新增', 1761400000000000101, 2, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:role:add', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001010, '角色修改', 1761400000000000101, 3, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:role:edit', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001011, '角色删除', 1761400000000000101, 4, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:role:remove', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001012, '角色导出', 1761400000000000101, 5, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:role:export', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001013, '菜单查询', 1761400000000000102, 1, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:menu:query', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001014, '菜单新增', 1761400000000000102, 2, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:menu:add', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001015, '菜单修改', 1761400000000000102, 3, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:menu:edit', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001016, '菜单删除', 1761400000000000102, 4, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:menu:remove', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001017, '部门查询', 1761400000000000103, 1, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:dept:query', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001018, '部门新增', 1761400000000000103, 2, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:dept:add', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001019, '部门修改', 1761400000000000103, 3, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:dept:edit', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001020, '部门删除', 1761400000000000103, 4, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:dept:remove', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001021, '岗位查询', 1761400000000000104, 1, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:post:query', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001022, '岗位新增', 1761400000000000104, 2, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:post:add', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001023, '岗位修改', 1761400000000000104, 3, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:post:edit', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001024, '岗位删除', 1761400000000000104, 4, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:post:remove', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001025, '岗位导出', 1761400000000000104, 5, '', '', '', 'N', 'Y', 'F', '0', '0', 'system:post:export', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001026, '字典查询', 1761400000000000105, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:dict:query', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001027, '字典新增', 1761400000000000105, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:dict:add', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001028, '字典修改', 1761400000000000105, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:dict:edit', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001029, '字典删除', 1761400000000000105, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:dict:remove', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001030, '字典导出', 1761400000000000105, 5, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:dict:export', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001031, '参数查询', 1761400000000000106, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:config:query', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001032, '参数新增', 1761400000000000106, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:config:add', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001033, '参数修改', 1761400000000000106, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:config:edit', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001034, '参数删除', 1761400000000000106, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:config:remove', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001035, '参数导出', 1761400000000000106, 5, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:config:export', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001036, '公告查询', 1761400000000000107, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:notice:query', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001037, '公告新增', 1761400000000000107, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:notice:add', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001038, '公告修改', 1761400000000000107, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:notice:edit', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001039, '公告删除', 1761400000000000107, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:notice:remove', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001040, '操作查询', 1761400000000000500, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'monitor:operlog:query', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001041, '操作删除', 1761400000000000500, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'monitor:operlog:remove', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001042, '日志导出', 1761400000000000500, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'monitor:operlog:export', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001043, '登录查询', 1761400000000000501, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'monitor:logininfo:query', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001044, '登录删除', 1761400000000000501, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'monitor:logininfo:remove', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001045, '日志导出', 1761400000000000501, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'monitor:logininfo:export', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001050, '账户解锁', 1761400000000000501, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'monitor:logininfo:unlock', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001046, '在线查询', 1761400000000000109, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'monitor:online:query', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001047, '批量强退', 1761400000000000109, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'monitor:online:batchLogout', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001048, '单条强退', 1761400000000000109, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'monitor:online:forceLogout', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001055, '生成查询', 1761400000000000115, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'tool:gen:query', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001056, '生成修改', 1761400000000000115, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'tool:gen:edit', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001057, '生成删除', 1761400000000000115, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'tool:gen:remove', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001058, '导入代码', 1761400000000000115, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'tool:gen:import', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001059, '预览代码', 1761400000000000115, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'tool:gen:preview', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001060, '生成代码', 1761400000000000115, 5, '#', '', '', 'N', 'Y', 'F', '0', '0', 'tool:gen:code', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001600, '文件查询', 1761400000000000118, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:oss:query', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001601, '文件上传', 1761400000000000118, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:oss:upload', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001602, '文件下载', 1761400000000000118, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:oss:download', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001603, '文件删除', 1761400000000000118, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:oss:remove', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001620, '配置列表', 1761400000000000118, 5, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:ossConfig:list', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001621, '配置添加', 1761400000000000118, 6, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:ossConfig:add', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001622, '配置编辑', 1761400000000000118, 6, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:ossConfig:edit', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001623, '配置删除', 1761400000000000118, 6, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:ossConfig:remove', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001061, '客户端管理查询', 1761400000000000123, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:client:query', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001062, '客户端管理新增', 1761400000000000123, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:client:add', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001063, '客户端管理修改', 1761400000000000123, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:client:edit', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001064, '客户端管理删除', 1761400000000000123, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:client:remove', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
insert into sys_menu values(1761400000000001065, '客户端管理导出', 1761400000000000123, 5, '#', '', '', 'N', 'Y', 'F', '0', '0', 'system:client:export', '#', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011616, '工作流', 0, 6, 'workflow', '', '', 'N', 'Y', 'M', '0', '0', '', 'workflow', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011618, '我的任务', 0, 7, 'task', '', '', 'N', 'Y', 'M', '0', '0', '', 'my-task', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011619, '我的待办', 1761400000000011618, 2, 'taskWaiting', 'workflow/task/taskWaiting', '', 'N', 'N', 'C', '0', '0', '', 'waiting', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011632, '我的已办', 1761400000000011618, 3, 'taskFinish', 'workflow/task/taskFinish', '', 'N', 'N', 'C', '0', '0', '', 'finish', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011633, '我的抄送', 1761400000000011618, 4, 'taskCopyList', 'workflow/task/taskCopyList', '', 'N', 'N', 'C', '0', '0', '', 'my-copy', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011620, '流程定义', 1761400000000011616, 3, 'processDefinition', 'workflow/processDefinition/index', '', 'N', 'N', 'C', '0', '0', 'workflow:definition:list', 'process-definition', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011621, '流程实例', 1761400000000011630, 1, 'processInstance', 'workflow/processInstance/index', '', 'N', 'N', 'C', '0', '0', 'workflow:instance:list', 'tree-table', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011622, '流程分类', 1761400000000011616, 1, 'category', 'workflow/category/index', '', 'N', 'Y', 'C', '0', '0', 'workflow:category:list', 'category', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011629, '我发起的', 1761400000000011618, 1, 'myDocument', 'workflow/task/myDocument', '', 'N', 'N', 'C', '0', '0', 'workflow:instance:currentList', 'guide', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011630, '流程监控', 1761400000000011616, 4, 'processMonitor', '', '', 'N', 'Y', 'M', '0', '0', '', 'monitor', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011631, '待办任务', 1761400000000011630, 2, 'allTaskWaiting', 'workflow/task/allTaskWaiting', '', 'N', 'N', 'C', '0', '0', 'workflow:task:list', 'waiting', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011660, '待办任务修改', 1761400000000011631, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:task:edit', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011700, '流程设计', 1761400000000011616, 5, 'design/index', 'workflow/processDefinition/design', '', 'N', 'N', 'C', 'N', 'Y', 'workflow:leave:edit', '#', '/workflow/processDefinition', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011701, '请假申请', 1761400000000011616, 6, 'leaveEdit/index', 'workflow/leave/leaveEdit', '', 'N', 'N', 'C', 'N', 'Y', 'workflow:leave:edit', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011623, '流程分类查询', 1761400000000011622, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:category:query', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011624, '流程分类新增', 1761400000000011622, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:category:add', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011625, '流程分类修改', 1761400000000011622, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:category:edit', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011626, '流程分类删除', 1761400000000011622, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:category:remove', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011627, '流程分类导出', 1761400000000011622, 5, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:category:export', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011653, '流程实例查询', 1761400000000011621, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:instance:query', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011654, '流程变量查询', 1761400000000011621, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:instance:variableQuery', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011655, '流程变量修改', 1761400000000011621, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:instance:variable', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011656, '流程实例激活/挂起', 1761400000000011621, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:instance:active', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011657, '流程实例删除', 1761400000000011621, 5, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:instance:remove', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011658, '流程实例作废', 1761400000000011621, 6, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:instance:invalid', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011659, '流程实例撤销', 1761400000000011621, 7, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:instance:cancel', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011644, '流程定义查询', 1761400000000011620, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:definition:query', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011645, '流程定义新增', 1761400000000011620, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:definition:add', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011646, '流程定义修改', 1761400000000011620, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:definition:edit', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011647, '流程定义删除', 1761400000000011620, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:definition:remove', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011648, '流程定义导出', 1761400000000011620, 5, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:definition:export', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011649, '流程定义导入', 1761400000000011620, 6, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:definition:import', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011650, '流程定义发布/取消发布', 1761400000000011620, 7, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:definition:publish', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011651, '流程定义复制', 1761400000000011620, 8, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:definition:copy', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011652, '流程定义激活/挂起', 1761400000000011620, 9, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:definition:active', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011801, '流程表达式', 1761400000000011616, 2, 'spel', 'workflow/spel/index', '', 'N', 'Y', 'C', '0', '0', 'workflow:spel:list', 'input', '', '', 1761000000000000103, 1761100000000000001, now(), 1761100000000000001, now(), '流程达式定义菜单');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011802, '流程spel表达式定义查询', 1761400000000011801, 1, '#', '', NULL, 'N', 'Y', 'F', '0', '0', 'workflow:spel:query', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011803, '流程spel表达式定义新增', 1761400000000011801, 2, '#', '', NULL, 'N', 'Y', 'F', '0', '0', 'workflow:spel:add', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011804, '流程spel表达式定义修改', 1761400000000011801, 3, '#', '', NULL, 'N', 'Y', 'F', '0', '0', 'workflow:spel:edit', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011805, '流程spel表达式定义删除', 1761400000000011801, 4, '#', '', NULL, 'N', 'Y', 'F', '0', '0', 'workflow:spel:remove', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011806, '流程spel表达式定义导出', 1761400000000011801, 5, '#', '', NULL, 'N', 'Y', 'F', '0', '0', 'workflow:spel:export', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011638, '请假申请', 1761400000000011616, 1, 'leave', 'workflow/leave/index', '', 'N', 'Y', 'C', '0', '0', 'workflow:leave:list', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '请假申请菜单');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011639, '请假申请查询', 1761400000000011638, 1, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:leave:query', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011640, '请假申请新增', 1761400000000011638, 2, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:leave:add', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011641, '请假申请修改', 1761400000000011638, 3, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:leave:edit', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011642, '请假申请删除', 1761400000000011638, 4, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:leave:remove', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
INSERT INTO sys_menu VALUES (1761400000000011643, '请假申请导出', 1761400000000011638, 5, '#', '', '', 'N', 'Y', 'F', '0', '0', 'workflow:leave:export', '#', '', '', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '');
|
||||
insert into sys_user_role values (1761100000000000001, 1761300000000000001);
|
||||
insert into sys_user_post values (1761100000000000001, 1761200000000000001);
|
||||
insert into sys_dict_type values(1761500000000000001, '用户性别', 'sys_user_gender', 1761000000000000103, 1761100000000000001, now(), null, null, '用户性别列表');
|
||||
insert into sys_dict_type values(1761500000000000002, '菜单状态', 'sys_show_hide', 1761000000000000103, 1761100000000000001, now(), null, null, '菜单状态列表');
|
||||
insert into sys_dict_type values(1761500000000000003, '系统开关', 'sys_normal_disable', 1761000000000000103, 1761100000000000001, now(), null, null, '系统开关列表');
|
||||
insert into sys_dict_type values(1761500000000000006, '系统是否', 'sys_yes_no', 1761000000000000103, 1761100000000000001, now(), null, null, '系统是否列表');
|
||||
insert into sys_dict_type values(1761500000000000007, '通知类型', 'sys_notice_type', 1761000000000000103, 1761100000000000001, now(), null, null, '通知类型列表');
|
||||
insert into sys_dict_type values(1761500000000000008, '通知状态', 'sys_notice_status', 1761000000000000103, 1761100000000000001, now(), null, null, '通知状态列表');
|
||||
insert into sys_dict_type values(1761500000000000009, '操作类型', 'sys_oper_type', 1761000000000000103, 1761100000000000001, now(), null, null, '操作类型列表');
|
||||
insert into sys_dict_type values(1761500000000000010, '系统状态', 'sys_common_status', 1761000000000000103, 1761100000000000001, now(), null, null, '登录状态列表');
|
||||
insert into sys_dict_type values(1761500000000000011, '授权类型', 'sys_grant_type', 1761000000000000103, 1761100000000000001, now(), null, null, '认证授权类型');
|
||||
insert into sys_dict_type values(1761500000000000012, '设备类型', 'sys_device_type', 1761000000000000103, 1761100000000000001, now(), null, null, '客户端设备类型');
|
||||
INSERT INTO sys_dict_type VALUES (1761500000000000013, '业务状态', 'wf_business_status', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '业务状态列表');
|
||||
INSERT INTO sys_dict_type VALUES (1761500000000000014, '表单类型', 'wf_form_type', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '表单类型列表');
|
||||
INSERT INTO sys_dict_type VALUES (1761500000000000015, '任务状态', 'wf_task_status', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '任务状态');
|
||||
insert into sys_dict_data values(1761600000000000001, 1, '男', '0', 'sys_user_gender', '', '', 'Y', 1761000000000000103, 1761100000000000001, now(), null, null, '性别男');
|
||||
insert into sys_dict_data values(1761600000000000002, 2, '女', '1', 'sys_user_gender', '', '', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '性别女');
|
||||
insert into sys_dict_data values(1761600000000000003, 3, '未知', '2', 'sys_user_gender', '', '', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '性别未知');
|
||||
insert into sys_dict_data values(1761600000000000004, 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', 1761000000000000103, 1761100000000000001, now(), null, null, '显示菜单');
|
||||
insert into sys_dict_data values(1761600000000000005, 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '隐藏菜单');
|
||||
insert into sys_dict_data values(1761600000000000006, 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', 1761000000000000103, 1761100000000000001, now(), null, null, '正常状态');
|
||||
insert into sys_dict_data values(1761600000000000007, 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '停用状态');
|
||||
insert into sys_dict_data values(1761600000000000012, 1, '是', 'Y', 'sys_yes_no', '', 'primary', 'Y', 1761000000000000103, 1761100000000000001, now(), null, null, '系统默认是');
|
||||
insert into sys_dict_data values(1761600000000000013, 2, '否', 'N', 'sys_yes_no', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '系统默认否');
|
||||
insert into sys_dict_data values(1761600000000000014, 1, '通知', '1', 'sys_notice_type', '', 'warning', 'Y', 1761000000000000103, 1761100000000000001, now(), null, null, '通知');
|
||||
insert into sys_dict_data values(1761600000000000015, 2, '公告', '2', 'sys_notice_type', '', 'success', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '公告');
|
||||
insert into sys_dict_data values(1761600000000000016, 1, '正常', '0', 'sys_notice_status', '', 'primary', 'Y', 1761000000000000103, 1761100000000000001, now(), null, null, '正常状态');
|
||||
insert into sys_dict_data values(1761600000000000017, 2, '关闭', '1', 'sys_notice_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '关闭状态');
|
||||
insert into sys_dict_data values(1761600000000000029, 99, '其他', '0', 'sys_oper_type', '', 'info', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '其他操作');
|
||||
insert into sys_dict_data values(1761600000000000018, 1, '新增', '1', 'sys_oper_type', '', 'info', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '新增操作');
|
||||
insert into sys_dict_data values(1761600000000000019, 2, '修改', '2', 'sys_oper_type', '', 'info', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '修改操作');
|
||||
insert into sys_dict_data values(1761600000000000020, 3, '删除', '3', 'sys_oper_type', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '删除操作');
|
||||
insert into sys_dict_data values(1761600000000000021, 4, '授权', '4', 'sys_oper_type', '', 'primary', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '授权操作');
|
||||
insert into sys_dict_data values(1761600000000000022, 5, '导出', '5', 'sys_oper_type', '', 'warning', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '导出操作');
|
||||
insert into sys_dict_data values(1761600000000000023, 6, '导入', '6', 'sys_oper_type', '', 'warning', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '导入操作');
|
||||
insert into sys_dict_data values(1761600000000000024, 7, '强退', '7', 'sys_oper_type', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '强退操作');
|
||||
insert into sys_dict_data values(1761600000000000025, 8, '生成代码', '8', 'sys_oper_type', '', 'warning', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '生成操作');
|
||||
insert into sys_dict_data values(1761600000000000026, 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '清空操作');
|
||||
insert into sys_dict_data values(1761600000000000027, 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '正常状态');
|
||||
insert into sys_dict_data values(1761600000000000028, 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '停用状态');
|
||||
insert into sys_dict_data values(1761600000000000030, 0, '密码认证', 'password', 'sys_grant_type', '', 'default', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '密码认证');
|
||||
insert into sys_dict_data values(1761600000000000031, 0, '短信认证', 'sms', 'sys_grant_type', '', 'default', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '短信认证');
|
||||
insert into sys_dict_data values(1761600000000000032, 0, '邮件认证', 'email', 'sys_grant_type', '', 'default', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '邮件认证');
|
||||
insert into sys_dict_data values(1761600000000000033, 0, '小程序认证', 'xcx', 'sys_grant_type', '', 'default', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '小程序认证');
|
||||
insert into sys_dict_data values(1761600000000000034, 0, '三方登录认证', 'social', 'sys_grant_type', '', 'default', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '三方登录认证');
|
||||
insert into sys_dict_data values(1761600000000000035, 0, 'PC', 'pc', 'sys_device_type', '', 'default', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, 'PC');
|
||||
insert into sys_dict_data values(1761600000000000036, 0, '安卓', 'android', 'sys_device_type', '', 'default', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '安卓');
|
||||
insert into sys_dict_data values(1761600000000000037, 0, 'iOS', 'ios', 'sys_device_type', '', 'default', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, 'iOS');
|
||||
insert into sys_dict_data values(1761600000000000038, 0, '小程序', 'xcx', 'sys_device_type', '', 'default', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '小程序');
|
||||
INSERT INTO sys_dict_data VALUES (1761600000000000039, 1, '已撤销', 'cancel', 'wf_business_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '已撤销');
|
||||
INSERT INTO sys_dict_data VALUES (1761600000000000040, 2, '草稿', 'draft', 'wf_business_status', '', 'info', 'N', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '草稿');
|
||||
INSERT INTO sys_dict_data VALUES (1761600000000000041, 3, '待审核', 'waiting', 'wf_business_status', '', 'primary', 'N', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '待审核');
|
||||
INSERT INTO sys_dict_data VALUES (1761600000000000042, 4, '已完成', 'finish', 'wf_business_status', '', 'success', 'N', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '已完成');
|
||||
INSERT INTO sys_dict_data VALUES (1761600000000000043, 5, '已作废', 'invalid', 'wf_business_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '已作废');
|
||||
INSERT INTO sys_dict_data VALUES (1761600000000000044, 6, '已退回', 'back', 'wf_business_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '已退回');
|
||||
INSERT INTO sys_dict_data VALUES (1761600000000000045, 7, '已终止', 'termination', 'wf_business_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '已终止');
|
||||
INSERT INTO sys_dict_data VALUES (1761600000000000046, 1, '自定义表单', 'static', 'wf_form_type', '', 'success', 'N', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '自定义表单');
|
||||
INSERT INTO sys_dict_data VALUES (1761600000000000047, 2, '动态表单', 'dynamic', 'wf_form_type', '', 'primary', 'N', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '动态表单');
|
||||
INSERT INTO sys_dict_data VALUES (1761600000000000048, 1, '撤销', 'cancel', 'wf_task_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '撤销');
|
||||
INSERT INTO sys_dict_data VALUES (1761600000000000049, 2, '通过', 'pass', 'wf_task_status', '', 'success', 'N', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '通过');
|
||||
INSERT INTO sys_dict_data VALUES (1761600000000000050, 3, '待审核', 'waiting', 'wf_task_status', '', 'primary', 'N', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '待审核');
|
||||
INSERT INTO sys_dict_data VALUES (1761600000000000051, 4, '作废', 'invalid', 'wf_task_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '作废');
|
||||
INSERT INTO sys_dict_data VALUES (1761600000000000052, 5, '退回', 'back', 'wf_task_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '退回');
|
||||
INSERT INTO sys_dict_data VALUES (1761600000000000053, 6, '终止', 'termination', 'wf_task_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '终止');
|
||||
INSERT INTO sys_dict_data VALUES (1761600000000000054, 7, '转办', 'transfer', 'wf_task_status', '', 'primary', 'N', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '转办');
|
||||
INSERT INTO sys_dict_data VALUES (1761600000000000055, 8, '委托', 'depute', 'wf_task_status', '', 'primary', 'N', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '委托');
|
||||
INSERT INTO sys_dict_data VALUES (1761600000000000056, 9, '抄送', 'copy', 'wf_task_status', '', 'primary', 'N', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '抄送');
|
||||
INSERT INTO sys_dict_data VALUES (1761600000000000057, 10, '加签', 'sign', 'wf_task_status', '', 'primary', 'N', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '加签');
|
||||
INSERT INTO sys_dict_data VALUES (1761600000000000058, 11, '减签', 'sign_off', 'wf_task_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '减签');
|
||||
INSERT INTO sys_dict_data VALUES (1761600000000000059, 11, '超时', 'timeout', 'wf_task_status', '', 'danger', 'N', 1761000000000000103, 1761100000000000001, now(), NULL, NULL, '超时');
|
||||
insert into sys_config values(1761700000000000001, '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 1761000000000000103, 1761100000000000001, now(), null, null, '初始化密码 123456');
|
||||
insert into sys_config values(1761700000000000002, '账号自助-是否开启用户注册功能', 'sys.account.registerUser', 'false', 'Y', 1761000000000000103, 1761100000000000001, now(), null, null, '是否开启注册用户功能(true开启,false关闭)');
|
||||
insert into sys_config values(1761700000000000003, 'OSS预览列表资源开关', 'sys.oss.previewListResource', 'true', 'Y', 1761000000000000103, 1761100000000000001, now(), null, null, 'true:开启, false:关闭');
|
||||
insert into sys_notice values(1761800000000000001, '温馨提醒:2018-07-01 新版本发布啦', '2', '新版本内容', '0', 1761000000000000103, 1761100000000000001, now(), null, null, '管理员');
|
||||
insert into sys_notice values(1761800000000000002, '维护通知:2018-07-01 系统凌晨维护', '1', '维护内容', '0', 1761000000000000103, 1761100000000000001, now(), null, null, '管理员');
|
||||
insert into sys_client values (1762000000000000001, 'e5cd7e4891bf95d1d19206ce24a7b32e', 'pc', 'pc123', 'password,social', 'pc', null, null, 1800, 604800, 0, 0, 1761000000000000103, 1761100000000000001, now(), 1761100000000000001, now());
|
||||
insert into sys_client values (1762000000000000002, '428a8310cd442757ae699df5d894f051', 'app', 'app123', 'password,sms,social', 'android', null, null, 1800, 604800, 0, 0, 1761000000000000103, 1761100000000000001, now(), 1761100000000000001, now());
|
||||
|
||||
--changeset seewis:system-postgresql-soybean-menu-adaptation dbms:postgresql splitStatements:true
|
||||
-- ### 管理端目录菜单
|
||||
update sys_menu set component = 'Layout', icon = 'carbon:cloud-service-management', menu_name = 'route.system' where menu_id = 1761400000000000001;
|
||||
update sys_menu set component = 'Layout', icon = 'stash:dashboard', menu_name = 'route.monitor' where menu_id = 1761400000000000002;
|
||||
update sys_menu set component = 'Layout', icon = 'tabler:tools', menu_name = 'route.tool' where menu_id = 1761400000000000003;
|
||||
update sys_menu set icon = 'tabler:logs', menu_name = 'menu.system_log' where menu_id = 1761400000000000108;
|
||||
|
||||
-- ### 管理端页面菜单
|
||||
update sys_menu set icon = 'ic:round-manage-accounts', menu_name = 'route.system_user' where menu_id = 1761400000000000100;
|
||||
update sys_menu set icon = 'carbon:user-role', menu_name = 'route.system_role' where menu_id = 1761400000000000101;
|
||||
update sys_menu set icon = 'material-symbols:route', menu_name = 'route.system_menu' where menu_id = 1761400000000000102;
|
||||
update sys_menu set icon = 'mingcute:department-line', menu_name = 'route.system_dept' where menu_id = 1761400000000000103;
|
||||
update sys_menu set icon = 'hugeicons:permanent-job', menu_name = 'route.system_post' where menu_id = 1761400000000000104;
|
||||
update sys_menu set icon = 'qlementine-icons:dictionary-16', menu_name = 'route.system_dict' where menu_id = 1761400000000000105;
|
||||
update sys_menu set icon = 'carbon:parameter', menu_name = 'route.system_config' where menu_id = 1761400000000000106;
|
||||
update sys_menu set icon = 'solar:chat-line-outline', menu_name = 'route.system_notice' where menu_id = 1761400000000000107;
|
||||
update sys_menu set icon = 'majesticons:status-online-line', menu_name = 'route.monitor_online' where menu_id = 1761400000000000109;
|
||||
update sys_menu set icon = 'simple-icons:redis', menu_name = 'route.monitor_cache' where menu_id = 1761400000000000113;
|
||||
update sys_menu set icon = 'material-symbols:code-blocks-outline', menu_name = 'route.tool_gen' where menu_id = 1761400000000000115;
|
||||
update sys_menu set icon = 'material-symbols:attach-file', menu_name = 'route.system_oss' where menu_id = 1761400000000000118;
|
||||
update sys_menu set icon = 'tabler:device-imac-cog', menu_name = 'route.system_client' where menu_id = 1761400000000000123;
|
||||
update sys_menu set icon = 'carbon:operations-record', menu_name = 'route.monitor_operlog' where menu_id = 1761400000000000500;
|
||||
update sys_menu set icon = 'tabler:login-2', menu_name = 'route.monitor_logininfor' where menu_id = 1761400000000000501;
|
||||
update sys_menu set path = 'oss/config', component = 'system/oss-config/index', icon = 'hugeicons:configuration-01', menu_name = 'route.system_oss-config' where menu_id = 1761400000000000133;
|
||||
|
||||
-- ### iframe 菜单
|
||||
update sys_menu set path = 'admin', component = 'FrameView', query_param = '{"url":"https://ruoyi.xlsea.cn/admin/"}', is_frame = 'N', is_cache = 'N', icon = 'bx:bxl-spring-boot', menu_name = 'menu.monitor_admin' where menu_id = 1761400000000000114;
|
||||
update sys_menu set path = 'snail-job', component = 'FrameView', query_param = '{"url":"https://preview.snailjob.opensnail.com/"}', is_frame = 'N', is_cache = 'N', icon = 'gridicons:scheduled', menu_name = 'menu.monitor_snail-job' where menu_id = 1761400000000000110;
|
||||
update sys_menu set component = 'FrameView' where menu_id in (1761400000000000112, 1761400000000000121);
|
||||
|
||||
-- ### 外链菜单
|
||||
update sys_menu set menu_name = 'RuoYi-Vue-Plus', order_num = 100, path = 'https://gitee.com/dromara/RuoYi-Vue-Plus', component = 'FrameView', icon = 'local-icon-gitee', remark = 'RuoYi-Vue-Plus 仓库地址' where menu_id = 1761400000000000004;
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, active_menu, ext, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1761400000000000009, 'route.about', 0, 99, 'about', 'about/index', '', 'N', 'N', 'C', '0', '0', '', 'fluent:book-information-24-regular', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, '关于页面');
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, active_menu, ext, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1761400000000000007, 'Soybean Admin', 0, 100, 'https://github.com/soybeanjs', 'FrameView', '', 'Y', 'Y', 'M', '0', '0', '', 'mdi:github', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, 'Soybean Admin 仓库地址');
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, active_menu, ext, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1761400000000000008, 'RuoYi-Plus-Soybean', 0, 100, 'https://gitee.com/xlsea/ruoyi-plus-soybean', 'FrameView', '', 'Y', 'Y', 'M', '0', '0', '', 'local-icon-gitee', '', '', 1761000000000000103, 1761100000000000001, now(), null, null, 'RuoYi-Plus-Soybean 仓库地址');
|
||||
|
||||
-- ### 管理端不支持的菜单
|
||||
update sys_menu set status = '1' where menu_id in (1761400000000000116, 1761400000000000130, 1761400000000000131, 1761400000000000132, 1761400000000011616, 1761400000000011618, 1761400000000011638, 1761400000000011700, 1761400000000011701);
|
||||
|
||||
--changeset seewis:system-postgresql-soybean-dict-adaptation dbms:postgresql splitStatements:true
|
||||
-- ### 管理端字典样式与多语言适配
|
||||
update sys_dict_data set list_class = 'error' where list_class = 'danger';
|
||||
update sys_dict_data set dict_label = 'dict.sys_user_sex.male' where dict_type = 'sys_user_gender' and dict_value = '0';
|
||||
update sys_dict_data set dict_label = 'dict.sys_user_sex.female' where dict_type = 'sys_user_gender' and dict_value = '1';
|
||||
update sys_dict_data set dict_label = 'dict.sys_user_sex.unknown' where dict_type = 'sys_user_gender' and dict_value = '2';
|
||||
update sys_dict_data set dict_label = 'dict.sys_show_hide.show' where dict_type = 'sys_show_hide' and dict_value = '0';
|
||||
update sys_dict_data set dict_label = 'dict.sys_show_hide.hide' where dict_type = 'sys_show_hide' and dict_value = '1';
|
||||
update sys_dict_data set dict_label = 'dict.sys_normal_disable.normal' where dict_type = 'sys_normal_disable' and dict_value = '0';
|
||||
update sys_dict_data set dict_label = 'dict.sys_normal_disable.disable' where dict_type = 'sys_normal_disable' and dict_value = '1';
|
||||
update sys_dict_data set dict_label = 'dict.sys_yes_no.yes' where dict_type = 'sys_yes_no' and dict_value = 'Y';
|
||||
update sys_dict_data set dict_label = 'dict.sys_yes_no.no' where dict_type = 'sys_yes_no' and dict_value = 'N';
|
||||
update sys_dict_data set dict_label = 'dict.sys_notice_type.notice' where dict_type = 'sys_notice_type' and dict_value = '1';
|
||||
update sys_dict_data set dict_label = 'dict.sys_notice_type.announcement' where dict_type = 'sys_notice_type' and dict_value = '2';
|
||||
update sys_dict_data set dict_label = 'dict.sys_notice_status.normal' where dict_type = 'sys_notice_status' and dict_value = '0';
|
||||
update sys_dict_data set dict_label = 'dict.sys_notice_status.close' where dict_type = 'sys_notice_status' and dict_value = '1';
|
||||
update sys_dict_data set dict_label = 'dict.sys_oper_type.other' where dict_type = 'sys_oper_type' and dict_value = '0';
|
||||
update sys_dict_data set dict_label = 'dict.sys_oper_type.insert' where dict_type = 'sys_oper_type' and dict_value = '1';
|
||||
update sys_dict_data set dict_label = 'dict.sys_oper_type.update' where dict_type = 'sys_oper_type' and dict_value = '2';
|
||||
update sys_dict_data set dict_label = 'dict.sys_oper_type.delete' where dict_type = 'sys_oper_type' and dict_value = '3';
|
||||
update sys_dict_data set dict_label = 'dict.sys_oper_type.grant' where dict_type = 'sys_oper_type' and dict_value = '4';
|
||||
update sys_dict_data set dict_label = 'dict.sys_oper_type.export' where dict_type = 'sys_oper_type' and dict_value = '5';
|
||||
update sys_dict_data set dict_label = 'dict.sys_oper_type.import' where dict_type = 'sys_oper_type' and dict_value = '6';
|
||||
update sys_dict_data set dict_label = 'dict.sys_oper_type.force' where dict_type = 'sys_oper_type' and dict_value = '7';
|
||||
update sys_dict_data set dict_label = 'dict.sys_oper_type.gencode' where dict_type = 'sys_oper_type' and dict_value = '8';
|
||||
update sys_dict_data set dict_label = 'dict.sys_oper_type.clean' where dict_type = 'sys_oper_type' and dict_value = '9';
|
||||
update sys_dict_data set dict_label = 'dict.sys_common_status.success' where dict_type = 'sys_common_status' and dict_value = '0';
|
||||
update sys_dict_data set dict_label = 'dict.sys_common_status.fail' where dict_type = 'sys_common_status' and dict_value = '1';
|
||||
update sys_dict_data set dict_label = 'dict.sys_grant_type.password' where dict_type = 'sys_grant_type' and dict_value = 'password';
|
||||
update sys_dict_data set dict_label = 'dict.sys_grant_type.sms' where dict_type = 'sys_grant_type' and dict_value = 'sms';
|
||||
update sys_dict_data set dict_label = 'dict.sys_grant_type.email' where dict_type = 'sys_grant_type' and dict_value = 'email';
|
||||
update sys_dict_data set dict_label = 'dict.sys_grant_type.miniapp' where dict_type = 'sys_grant_type' and dict_value = 'xcx';
|
||||
update sys_dict_data set dict_label = 'dict.sys_grant_type.social' where dict_type = 'sys_grant_type' and dict_value = 'social';
|
||||
update sys_dict_data set dict_label = 'dict.sys_device_type.pc' where dict_type = 'sys_device_type' and dict_value = 'pc';
|
||||
update sys_dict_data set dict_label = 'dict.sys_device_type.android' where dict_type = 'sys_device_type' and dict_value = 'android';
|
||||
update sys_dict_data set dict_label = 'dict.sys_device_type.ios' where dict_type = 'sys_device_type' and dict_value = 'ios';
|
||||
update sys_dict_data set dict_label = 'dict.sys_device_type.miniapp' where dict_type = 'sys_device_type' and dict_value = 'xcx';
|
||||
update sys_dict_data set dict_label = 'dict.wf_business_status.revoked' where dict_type = 'wf_business_status' and dict_value = 'cancel';
|
||||
update sys_dict_data set dict_label = 'dict.wf_business_status.draft' where dict_type = 'wf_business_status' and dict_value = 'draft';
|
||||
update sys_dict_data set dict_label = 'dict.wf_business_status.pending' where dict_type = 'wf_business_status' and dict_value = 'waiting';
|
||||
update sys_dict_data set dict_label = 'dict.wf_business_status.completed' where dict_type = 'wf_business_status' and dict_value = 'finish';
|
||||
update sys_dict_data set dict_label = 'dict.wf_business_status.cancelled' where dict_type = 'wf_business_status' and dict_value = 'invalid';
|
||||
update sys_dict_data set dict_label = 'dict.wf_business_status.returned' where dict_type = 'wf_business_status' and dict_value = 'back';
|
||||
update sys_dict_data set dict_label = 'dict.wf_business_status.terminated' where dict_type = 'wf_business_status' and dict_value = 'termination';
|
||||
update sys_dict_data set dict_label = 'dict.wf_form_type.custom_form' where dict_type = 'wf_form_type' and dict_value = 'static';
|
||||
update sys_dict_data set dict_label = 'dict.wf_form_type.dynamic_form' where dict_type = 'wf_form_type' and dict_value = 'dynamic';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.revoke' where dict_type = 'wf_task_status' and dict_value = 'cancel';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.pass' where dict_type = 'wf_task_status' and dict_value = 'pass';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.pending_review' where dict_type = 'wf_task_status' and dict_value = 'waiting';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.cancel' where dict_type = 'wf_task_status' and dict_value = 'invalid';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.return' where dict_type = 'wf_task_status' and dict_value = 'back';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.terminate' where dict_type = 'wf_task_status' and dict_value = 'termination';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.transfer' where dict_type = 'wf_task_status' and dict_value = 'transfer';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.delegate' where dict_type = 'wf_task_status' and dict_value = 'depute';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.copy' where dict_type = 'wf_task_status' and dict_value = 'copy';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.add_sign' where dict_type = 'wf_task_status' and dict_value = 'sign';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.minus_sign' where dict_type = 'wf_task_status' and dict_value = 'sign_off';
|
||||
update sys_dict_data set dict_label = 'dict.wf_task_status.timeout' where dict_type = 'wf_task_status' and dict_value = 'timeout';
|
||||
|
||||
-- ### 前端兼容的用户性别字典
|
||||
insert into sys_dict_type (dict_id, dict_name, dict_type, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
select 1761500000000000016, '用户性别', 'sys_user_sex', 1761000000000000103, 1761100000000000001, now(), null, null, '管理端用户性别字典'
|
||||
where not exists (select 1 from sys_dict_type where dict_type = 'sys_user_sex');
|
||||
insert into sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
select 1761600000000000060, 1, 'dict.sys_user_sex.male', '0', 'sys_user_sex', '', '', 'Y', 1761000000000000103, 1761100000000000001, now(), null, null, '性别男'
|
||||
where not exists (select 1 from sys_dict_data where dict_type = 'sys_user_sex' and dict_value = '0');
|
||||
insert into sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
select 1761600000000000061, 2, 'dict.sys_user_sex.female', '1', 'sys_user_sex', '', '', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '性别女'
|
||||
where not exists (select 1 from sys_dict_data where dict_type = 'sys_user_sex' and dict_value = '1');
|
||||
insert into sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
select 1761600000000000062, 3, 'dict.sys_user_sex.unknown', '2', 'sys_user_sex', '', '', 'N', 1761000000000000103, 1761100000000000001, now(), null, null, '性别未知'
|
||||
where not exists (select 1 from sys_dict_data where dict_type = 'sys_user_sex' and dict_value = '2');
|
||||
+668
@@ -0,0 +1,668 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset seewis:system-postgresql-table-baseline dbms:postgresql splitStatements:false
|
||||
-- ### 社会化关系表:第三方平台授权与用户关联信息
|
||||
create table sys_social
|
||||
(
|
||||
id int8 not null,
|
||||
user_id int8 not null,
|
||||
auth_id varchar(255) not null,
|
||||
source varchar(255) not null,
|
||||
open_id varchar(255) default null::varchar,
|
||||
user_name varchar(30) not null,
|
||||
nick_name varchar(30) default ''::varchar,
|
||||
email varchar(255) default ''::varchar,
|
||||
avatar varchar(500) default ''::varchar,
|
||||
access_token varchar(2000) not null,
|
||||
expire_in int8 default null,
|
||||
refresh_token varchar(2000) default null::varchar,
|
||||
access_code varchar(255) default null::varchar,
|
||||
union_id varchar(255) default null::varchar,
|
||||
scope varchar(255) default null::varchar,
|
||||
token_type varchar(255) default null::varchar,
|
||||
id_token varchar(2000) default null::varchar,
|
||||
mac_algorithm varchar(255) default null::varchar,
|
||||
mac_key varchar(255) default null::varchar,
|
||||
code varchar(255) default null::varchar,
|
||||
oauth_token varchar(255) default null::varchar,
|
||||
oauth_token_secret varchar(255) default null::varchar,
|
||||
create_dept int8,
|
||||
create_by int8,
|
||||
create_time timestamp,
|
||||
update_by int8,
|
||||
update_time timestamp,
|
||||
del_flag char default '0'::bpchar,
|
||||
constraint "pk_sys_social" primary key (id)
|
||||
);
|
||||
|
||||
comment on table sys_social is '社会化关系表';
|
||||
comment on column sys_social.id is '主键';
|
||||
comment on column sys_social.user_id is '用户ID';
|
||||
comment on column sys_social.auth_id is '平台+平台唯一id';
|
||||
comment on column sys_social.source is '用户来源';
|
||||
comment on column sys_social.open_id is '平台编号唯一id';
|
||||
comment on column sys_social.user_name is '登录账号';
|
||||
comment on column sys_social.nick_name is '用户昵称';
|
||||
comment on column sys_social.email is '用户邮箱';
|
||||
comment on column sys_social.avatar is '头像地址';
|
||||
comment on column sys_social.access_token is '用户的授权令牌';
|
||||
comment on column sys_social.expire_in is '用户的授权令牌的有效期,部分平台可能没有';
|
||||
comment on column sys_social.refresh_token is '刷新令牌,部分平台可能没有';
|
||||
comment on column sys_social.access_code is '平台的授权信息,部分平台可能没有';
|
||||
comment on column sys_social.union_id is '用户的 unionid';
|
||||
comment on column sys_social.scope is '授予的权限,部分平台可能没有';
|
||||
comment on column sys_social.token_type is '个别平台的授权信息,部分平台可能没有';
|
||||
comment on column sys_social.id_token is 'id token,部分平台可能没有';
|
||||
comment on column sys_social.mac_algorithm is '小米平台用户的附带属性,部分平台可能没有';
|
||||
comment on column sys_social.mac_key is '小米平台用户的附带属性,部分平台可能没有';
|
||||
comment on column sys_social.code is '用户的授权code,部分平台可能没有';
|
||||
comment on column sys_social.oauth_token is 'Twitter平台用户的附带属性,部分平台可能没有';
|
||||
comment on column sys_social.oauth_token_secret is 'Twitter平台用户的附带属性,部分平台可能没有';
|
||||
comment on column sys_social.create_dept is '创建部门';
|
||||
comment on column sys_social.create_by is '创建者';
|
||||
comment on column sys_social.create_time is '创建时间';
|
||||
comment on column sys_social.update_by is '更新者';
|
||||
comment on column sys_social.update_time is '更新时间';
|
||||
comment on column sys_social.del_flag is '删除标志(0代表存在 1代表删除)';
|
||||
|
||||
-- ### 部门表
|
||||
create table if not exists sys_dept
|
||||
(
|
||||
dept_id int8,
|
||||
parent_id int8 default 0,
|
||||
ancestors varchar(500)default ''::varchar,
|
||||
dept_name varchar(30) default ''::varchar,
|
||||
dept_category varchar(100) default null::varchar,
|
||||
order_num int4 default 0,
|
||||
leader int8 default null,
|
||||
phone varchar(11) default null::varchar,
|
||||
email varchar(50) default null::varchar,
|
||||
status char default '0'::bpchar,
|
||||
del_flag char default '0'::bpchar,
|
||||
create_dept int8,
|
||||
create_by int8,
|
||||
create_time timestamp,
|
||||
update_by int8,
|
||||
update_time timestamp,
|
||||
constraint "sys_dept_pk" primary key (dept_id)
|
||||
);
|
||||
|
||||
create index idx_sys_dept_parent_id ON sys_dept (parent_id);
|
||||
|
||||
comment on table sys_dept is '部门表';
|
||||
comment on column sys_dept.dept_id is '部门ID';
|
||||
comment on column sys_dept.parent_id is '父部门ID';
|
||||
comment on column sys_dept.ancestors is '祖级列表';
|
||||
comment on column sys_dept.dept_name is '部门名称';
|
||||
comment on column sys_dept.dept_category is '部门类别编码';
|
||||
comment on column sys_dept.order_num is '显示顺序';
|
||||
comment on column sys_dept.leader is '负责人';
|
||||
comment on column sys_dept.phone is '联系电话';
|
||||
comment on column sys_dept.email is '邮箱';
|
||||
comment on column sys_dept.status is '部门状态(0正常 1停用)';
|
||||
comment on column sys_dept.del_flag is '删除标志(0代表存在 1代表删除)';
|
||||
comment on column sys_dept.create_dept is '创建部门';
|
||||
comment on column sys_dept.create_by is '创建者';
|
||||
comment on column sys_dept.create_time is '创建时间';
|
||||
comment on column sys_dept.update_by is '更新者';
|
||||
comment on column sys_dept.update_time is '更新时间';
|
||||
|
||||
|
||||
-- ### 用户表
|
||||
create table if not exists sys_user
|
||||
(
|
||||
user_id int8,
|
||||
dept_id int8,
|
||||
user_name varchar(30) not null,
|
||||
nick_name varchar(30) not null,
|
||||
user_type varchar(10) default 'sys_user'::varchar,
|
||||
email varchar(50) default ''::varchar,
|
||||
phone_number varchar(11) default ''::varchar,
|
||||
gender char default '0'::bpchar,
|
||||
avatar int8,
|
||||
password varchar(100) default ''::varchar,
|
||||
status char default '0'::bpchar,
|
||||
del_flag char default '0'::bpchar,
|
||||
login_ip varchar(128) default ''::varchar,
|
||||
login_date timestamp,
|
||||
create_dept int8,
|
||||
create_by int8,
|
||||
create_time timestamp,
|
||||
update_by int8,
|
||||
update_time timestamp,
|
||||
remark varchar(500) default null::varchar,
|
||||
constraint "sys_user_pk" primary key (user_id)
|
||||
);
|
||||
|
||||
create index idx_sys_user_dept_id ON sys_user (dept_id);
|
||||
create index idx_sys_user_create_by ON sys_user (create_by);
|
||||
create index idx_sys_user_user_name ON sys_user (user_name);
|
||||
create index idx_sys_user_phone ON sys_user (phone_number);
|
||||
|
||||
comment on table sys_user is '用户信息表';
|
||||
comment on column sys_user.user_id is '用户ID';
|
||||
comment on column sys_user.dept_id is '部门ID';
|
||||
comment on column sys_user.user_name is '用户账号';
|
||||
comment on column sys_user.nick_name is '用户昵称';
|
||||
comment on column sys_user.user_type is '用户类型(sys_user系统用户)';
|
||||
comment on column sys_user.email is '用户邮箱';
|
||||
comment on column sys_user.phone_number is '手机号码';
|
||||
comment on column sys_user.gender is '用户性别(0男 1女 2未知)';
|
||||
comment on column sys_user.avatar is '头像地址';
|
||||
comment on column sys_user.password is '密码';
|
||||
comment on column sys_user.status is '账号状态(0正常 1停用)';
|
||||
comment on column sys_user.del_flag is '删除标志(0代表存在 1代表删除)';
|
||||
comment on column sys_user.login_ip is '最后登陆IP';
|
||||
comment on column sys_user.login_date is '最后登陆时间';
|
||||
comment on column sys_user.create_dept is '创建部门';
|
||||
comment on column sys_user.create_by is '创建者';
|
||||
comment on column sys_user.create_time is '创建时间';
|
||||
comment on column sys_user.update_by is '更新者';
|
||||
comment on column sys_user.update_time is '更新时间';
|
||||
comment on column sys_user.remark is '备注';
|
||||
|
||||
|
||||
|
||||
-- ### 岗位表
|
||||
create table if not exists sys_post
|
||||
(
|
||||
post_id int8,
|
||||
dept_id int8,
|
||||
post_code varchar(64) not null,
|
||||
post_category varchar(100) default null,
|
||||
post_name varchar(50) not null,
|
||||
post_sort int4 not null,
|
||||
status char not null,
|
||||
del_flag char default '0'::bpchar,
|
||||
create_dept int8,
|
||||
create_by int8,
|
||||
create_time timestamp,
|
||||
update_by int8,
|
||||
update_time timestamp,
|
||||
remark varchar(500) default null::varchar,
|
||||
constraint "sys_post_pk" primary key (post_id)
|
||||
);
|
||||
|
||||
create index idx_sys_post_dept_id ON sys_post (dept_id);
|
||||
|
||||
comment on table sys_post is '岗位信息表';
|
||||
comment on column sys_post.post_id is '岗位ID';
|
||||
comment on column sys_post.dept_id is '部门id';
|
||||
comment on column sys_post.post_code is '岗位编码';
|
||||
comment on column sys_post.post_category is '岗位类别编码';
|
||||
comment on column sys_post.post_name is '岗位名称';
|
||||
comment on column sys_post.post_sort is '显示顺序';
|
||||
comment on column sys_post.status is '状态(0正常 1停用)';
|
||||
comment on column sys_post.del_flag is '删除标志(0代表存在 1代表删除)';
|
||||
comment on column sys_post.create_dept is '创建部门';
|
||||
comment on column sys_post.create_by is '创建者';
|
||||
comment on column sys_post.create_time is '创建时间';
|
||||
comment on column sys_post.update_by is '更新者';
|
||||
comment on column sys_post.update_time is '更新时间';
|
||||
comment on column sys_post.remark is '备注';
|
||||
|
||||
|
||||
-- ### 角色表
|
||||
create table if not exists sys_role
|
||||
(
|
||||
role_id int8,
|
||||
role_name varchar(30) not null,
|
||||
role_key varchar(100) not null,
|
||||
role_sort int4 not null,
|
||||
data_scope char default '1'::bpchar,
|
||||
menu_check_strictly bool default true,
|
||||
dept_check_strictly bool default true,
|
||||
status char not null,
|
||||
del_flag char default '0'::bpchar,
|
||||
create_dept int8,
|
||||
create_by int8,
|
||||
create_time timestamp,
|
||||
update_by int8,
|
||||
update_time timestamp,
|
||||
remark varchar(500) default null::varchar,
|
||||
constraint "sys_role_pk" primary key (role_id)
|
||||
);
|
||||
|
||||
create index idx_sys_role_create_dept ON sys_role (create_dept);
|
||||
create index idx_sys_role_create_by ON sys_role (create_by);
|
||||
|
||||
comment on table sys_role is '角色信息表';
|
||||
comment on column sys_role.role_id is '角色ID';
|
||||
comment on column sys_role.role_name is '角色名称';
|
||||
comment on column sys_role.role_key is '角色权限字符串';
|
||||
comment on column sys_role.role_sort is '显示顺序';
|
||||
comment on column sys_role.data_scope is '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限 5:仅本人数据权限 6:部门及以下或本人数据权限)';
|
||||
comment on column sys_role.menu_check_strictly is '菜单树选择项是否关联显示';
|
||||
comment on column sys_role.dept_check_strictly is '部门树选择项是否关联显示';
|
||||
comment on column sys_role.status is '角色状态(0正常 1停用)';
|
||||
comment on column sys_role.del_flag is '删除标志(0代表存在 1代表删除)';
|
||||
comment on column sys_role.create_dept is '创建部门';
|
||||
comment on column sys_role.create_by is '创建者';
|
||||
comment on column sys_role.create_time is '创建时间';
|
||||
comment on column sys_role.update_by is '更新者';
|
||||
comment on column sys_role.update_time is '更新时间';
|
||||
comment on column sys_role.remark is '备注';
|
||||
|
||||
|
||||
-- ### 菜单权限表
|
||||
create table if not exists sys_menu
|
||||
(
|
||||
menu_id int8,
|
||||
menu_name varchar(50) not null,
|
||||
parent_id int8 default 0,
|
||||
order_num int4 default 0,
|
||||
path varchar(200) default ''::varchar,
|
||||
component varchar(255) default null::varchar,
|
||||
query_param varchar(255) default null::varchar,
|
||||
is_frame char default 'N'::bpchar,
|
||||
is_cache char default 'Y'::bpchar,
|
||||
menu_type char default ''::bpchar,
|
||||
visible char default '0'::bpchar,
|
||||
status char default '0'::bpchar,
|
||||
perms varchar(100) default null::varchar,
|
||||
icon varchar(100) default '#'::varchar,
|
||||
active_menu varchar(255) default ''::varchar,
|
||||
ext varchar(2000) default ''::varchar,
|
||||
create_dept int8,
|
||||
create_by int8,
|
||||
create_time timestamp,
|
||||
update_by int8,
|
||||
update_time timestamp,
|
||||
remark varchar(500) default ''::varchar,
|
||||
constraint "sys_menu_pk" primary key (menu_id)
|
||||
);
|
||||
|
||||
comment on table sys_menu is '菜单权限表';
|
||||
comment on column sys_menu.menu_id is '菜单ID';
|
||||
comment on column sys_menu.menu_name is '菜单名称';
|
||||
comment on column sys_menu.parent_id is '父菜单ID';
|
||||
comment on column sys_menu.order_num is '显示顺序';
|
||||
comment on column sys_menu.path is '路由地址';
|
||||
comment on column sys_menu.component is '组件路径';
|
||||
comment on column sys_menu.query_param is '路由参数';
|
||||
comment on column sys_menu.is_frame is '是否为外链(Y是 N否)';
|
||||
comment on column sys_menu.is_cache is '是否缓存(Y缓存 N不缓存)';
|
||||
comment on column sys_menu.menu_type is '菜单类型(M目录 C菜单 F按钮)';
|
||||
comment on column sys_menu.visible is '显示状态(0显示 1隐藏)';
|
||||
comment on column sys_menu.status is '菜单状态(0正常 1停用)';
|
||||
comment on column sys_menu.perms is '权限标识';
|
||||
comment on column sys_menu.icon is '菜单图标';
|
||||
comment on column sys_menu.create_dept is '创建部门';
|
||||
comment on column sys_menu.create_by is '创建者';
|
||||
comment on column sys_menu.create_time is '创建时间';
|
||||
comment on column sys_menu.update_by is '更新者';
|
||||
comment on column sys_menu.update_time is '更新时间';
|
||||
comment on column sys_menu.active_menu is '激活菜单路径';
|
||||
comment on column sys_menu.ext is '扩展字段';
|
||||
comment on column sys_menu.remark is '备注';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- ### 用户角色关联表
|
||||
create table if not exists sys_user_role
|
||||
(
|
||||
user_id int8 not null,
|
||||
role_id int8 not null,
|
||||
constraint sys_user_role_pk primary key (user_id, role_id)
|
||||
);
|
||||
|
||||
create index idx_sys_user_role_rid ON sys_user_role (role_id);
|
||||
|
||||
comment on table sys_user_role is '用户和角色关联表';
|
||||
comment on column sys_user_role.user_id is '用户ID';
|
||||
comment on column sys_user_role.role_id is '角色ID';
|
||||
|
||||
|
||||
-- ### 角色菜单关联表
|
||||
create table if not exists sys_role_menu
|
||||
(
|
||||
role_id int8 not null,
|
||||
menu_id int8 not null,
|
||||
constraint sys_role_menu_pk primary key (role_id, menu_id)
|
||||
);
|
||||
|
||||
comment on table sys_role_menu is '角色和菜单关联表';
|
||||
comment on column sys_role_menu.role_id is '角色ID';
|
||||
comment on column sys_role_menu.menu_id is '菜单ID';
|
||||
|
||||
|
||||
-- ### 角色部门关联表
|
||||
create table if not exists sys_role_dept
|
||||
(
|
||||
role_id int8 not null,
|
||||
dept_id int8 not null,
|
||||
constraint sys_role_dept_pk primary key (role_id, dept_id)
|
||||
);
|
||||
|
||||
comment on table sys_role_dept is '角色和部门关联表';
|
||||
comment on column sys_role_dept.role_id is '角色ID';
|
||||
comment on column sys_role_dept.dept_id is '部门ID';
|
||||
|
||||
|
||||
-- ### 用户岗位关联表
|
||||
create table if not exists sys_user_post
|
||||
(
|
||||
user_id int8 not null,
|
||||
post_id int8 not null,
|
||||
constraint sys_user_post_pk primary key (user_id, post_id)
|
||||
);
|
||||
|
||||
comment on table sys_user_post is '用户与岗位关联表';
|
||||
comment on column sys_user_post.user_id is '用户ID';
|
||||
comment on column sys_user_post.post_id is '岗位ID';
|
||||
|
||||
|
||||
-- ### 操作日志表
|
||||
create table if not exists sys_oper_log
|
||||
(
|
||||
oper_id int8,
|
||||
title varchar(50) default ''::varchar,
|
||||
business_type int4 default 0,
|
||||
method varchar(100) default ''::varchar,
|
||||
request_method varchar(10) default ''::varchar,
|
||||
operator_type int4 default 0,
|
||||
oper_name varchar(50) default ''::varchar,
|
||||
user_id int8,
|
||||
dept_id int8,
|
||||
dept_name varchar(50) default ''::varchar,
|
||||
client_key varchar(32) default ''::varchar,
|
||||
device_type varchar(32) default ''::varchar,
|
||||
browser varchar(50) default ''::varchar,
|
||||
os varchar(50) default ''::varchar,
|
||||
oper_url varchar(255) default ''::varchar,
|
||||
oper_ip varchar(128) default ''::varchar,
|
||||
oper_location varchar(255) default ''::varchar,
|
||||
oper_param varchar(4000) default ''::varchar,
|
||||
json_result varchar(4000) default ''::varchar,
|
||||
status int4 default 0,
|
||||
error_msg varchar(4000) default ''::varchar,
|
||||
oper_time timestamp,
|
||||
cost_time int8 default 0,
|
||||
constraint sys_oper_log_pk primary key (oper_id)
|
||||
);
|
||||
|
||||
create index idx_sys_oper_log_bt ON sys_oper_log (business_type);
|
||||
create index idx_sys_oper_log_uid ON sys_oper_log (user_id);
|
||||
create index idx_sys_oper_log_s ON sys_oper_log (status);
|
||||
create index idx_sys_oper_log_ot ON sys_oper_log (oper_time);
|
||||
|
||||
comment on table sys_oper_log is '操作日志记录';
|
||||
comment on column sys_oper_log.oper_id is '日志主键';
|
||||
comment on column sys_oper_log.title is '模块标题';
|
||||
comment on column sys_oper_log.business_type is '业务类型(0其它 1新增 2修改 3删除)';
|
||||
comment on column sys_oper_log.method is '方法名称';
|
||||
comment on column sys_oper_log.request_method is '请求方式';
|
||||
comment on column sys_oper_log.operator_type is '操作类别(0其它 1后台用户 2手机端用户)';
|
||||
comment on column sys_oper_log.oper_name is '操作人员';
|
||||
comment on column sys_oper_log.user_id is '操作用户ID';
|
||||
comment on column sys_oper_log.dept_id is '操作部门ID';
|
||||
comment on column sys_oper_log.dept_name is '部门名称';
|
||||
comment on column sys_oper_log.client_key is '客户端';
|
||||
comment on column sys_oper_log.device_type is '设备类型';
|
||||
comment on column sys_oper_log.browser is '浏览器类型';
|
||||
comment on column sys_oper_log.os is '操作系统';
|
||||
comment on column sys_oper_log.oper_url is '请求URL';
|
||||
comment on column sys_oper_log.oper_ip is '主机地址';
|
||||
comment on column sys_oper_log.oper_location is '操作地点';
|
||||
comment on column sys_oper_log.oper_param is '请求参数';
|
||||
comment on column sys_oper_log.json_result is '返回参数';
|
||||
comment on column sys_oper_log.status is '操作状态(0正常 1异常)';
|
||||
comment on column sys_oper_log.error_msg is '错误消息';
|
||||
comment on column sys_oper_log.oper_time is '操作时间';
|
||||
comment on column sys_oper_log.cost_time is '消耗时间';
|
||||
|
||||
-- ### 字典类型表
|
||||
create table if not exists sys_dict_type
|
||||
(
|
||||
dict_id int8,
|
||||
dict_name varchar(100) default ''::varchar,
|
||||
dict_type varchar(100) default ''::varchar,
|
||||
create_dept int8,
|
||||
create_by int8,
|
||||
create_time timestamp,
|
||||
update_by int8,
|
||||
update_time timestamp,
|
||||
remark varchar(500) default null::varchar,
|
||||
constraint sys_dict_type_pk primary key (dict_id)
|
||||
);
|
||||
|
||||
create unique index sys_dict_type_index1 ON sys_dict_type (dict_type);
|
||||
|
||||
comment on table sys_dict_type is '字典类型表';
|
||||
comment on column sys_dict_type.dict_id is '字典主键';
|
||||
comment on column sys_dict_type.dict_name is '字典名称';
|
||||
comment on column sys_dict_type.dict_type is '字典类型';
|
||||
comment on column sys_dict_type.create_dept is '创建部门';
|
||||
comment on column sys_dict_type.create_by is '创建者';
|
||||
comment on column sys_dict_type.create_time is '创建时间';
|
||||
comment on column sys_dict_type.update_by is '更新者';
|
||||
comment on column sys_dict_type.update_time is '更新时间';
|
||||
comment on column sys_dict_type.remark is '备注';
|
||||
|
||||
|
||||
-- ### 字典数据表
|
||||
create table if not exists sys_dict_data
|
||||
(
|
||||
dict_code int8,
|
||||
dict_sort int4 default 0,
|
||||
dict_label varchar(100) default ''::varchar,
|
||||
dict_value varchar(100) default ''::varchar,
|
||||
dict_type varchar(100) default ''::varchar,
|
||||
css_class varchar(100) default null::varchar,
|
||||
list_class varchar(100) default null::varchar,
|
||||
is_default char default 'N'::bpchar,
|
||||
create_dept int8,
|
||||
create_by int8,
|
||||
create_time timestamp,
|
||||
update_by int8,
|
||||
update_time timestamp,
|
||||
remark varchar(500) default null::varchar,
|
||||
constraint sys_dict_data_pk primary key (dict_code)
|
||||
);
|
||||
|
||||
create index idx_sys_dict_data_type ON sys_dict_data (dict_type);
|
||||
|
||||
comment on table sys_dict_data is '字典数据表';
|
||||
comment on column sys_dict_data.dict_code is '字典编码';
|
||||
comment on column sys_dict_data.dict_sort is '字典排序';
|
||||
comment on column sys_dict_data.dict_label is '字典标签';
|
||||
comment on column sys_dict_data.dict_value is '字典键值';
|
||||
comment on column sys_dict_data.dict_type is '字典类型';
|
||||
comment on column sys_dict_data.css_class is '样式属性(其他样式扩展)';
|
||||
comment on column sys_dict_data.list_class is '表格回显样式';
|
||||
comment on column sys_dict_data.is_default is '是否默认(Y是 N否)';
|
||||
comment on column sys_dict_data.create_dept is '创建部门';
|
||||
comment on column sys_dict_data.create_by is '创建者';
|
||||
comment on column sys_dict_data.create_time is '创建时间';
|
||||
comment on column sys_dict_data.update_by is '更新者';
|
||||
comment on column sys_dict_data.update_time is '更新时间';
|
||||
comment on column sys_dict_data.remark is '备注';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- ### 参数配置表
|
||||
create table if not exists sys_config
|
||||
(
|
||||
config_id int8,
|
||||
config_name varchar(100) default ''::varchar,
|
||||
config_key varchar(100) default ''::varchar,
|
||||
config_value varchar(500) default ''::varchar,
|
||||
config_type char default 'N'::bpchar,
|
||||
create_dept int8,
|
||||
create_by int8,
|
||||
create_time timestamp,
|
||||
update_by int8,
|
||||
update_time timestamp,
|
||||
remark varchar(500) default null::varchar,
|
||||
constraint sys_config_pk primary key (config_id)
|
||||
);
|
||||
|
||||
comment on table sys_config is '参数配置表';
|
||||
comment on column sys_config.config_id is '参数主键';
|
||||
comment on column sys_config.config_name is '参数名称';
|
||||
comment on column sys_config.config_key is '参数键名';
|
||||
comment on column sys_config.config_value is '参数键值';
|
||||
comment on column sys_config.config_type is '系统内置(Y是 N否)';
|
||||
comment on column sys_config.create_dept is '创建部门';
|
||||
comment on column sys_config.create_by is '创建者';
|
||||
comment on column sys_config.create_time is '创建时间';
|
||||
comment on column sys_config.update_by is '更新者';
|
||||
comment on column sys_config.update_time is '更新时间';
|
||||
comment on column sys_config.remark is '备注';
|
||||
|
||||
|
||||
|
||||
-- ### 登录日志表
|
||||
create table if not exists sys_login_info
|
||||
(
|
||||
info_id int8,
|
||||
user_name varchar(50) default ''::varchar,
|
||||
client_key varchar(32) default ''::varchar,
|
||||
device_type varchar(32) default ''::varchar,
|
||||
ipaddr varchar(128) default ''::varchar,
|
||||
login_location varchar(255) default ''::varchar,
|
||||
browser varchar(50) default ''::varchar,
|
||||
os varchar(50) default ''::varchar,
|
||||
status char default '0'::bpchar,
|
||||
msg varchar(255) default ''::varchar,
|
||||
login_time timestamp,
|
||||
constraint sys_login_info_pk primary key (info_id)
|
||||
);
|
||||
|
||||
create index idx_sys_login_info_s ON sys_login_info (status);
|
||||
create index idx_sys_login_info_lt ON sys_login_info (login_time);
|
||||
|
||||
comment on table sys_login_info is '系统访问记录';
|
||||
comment on column sys_login_info.info_id is '访问ID';
|
||||
comment on column sys_login_info.user_name is '用户账号';
|
||||
comment on column sys_login_info.client_key is '客户端';
|
||||
comment on column sys_login_info.device_type is '设备类型';
|
||||
comment on column sys_login_info.ipaddr is '登录IP地址';
|
||||
comment on column sys_login_info.login_location is '登录地点';
|
||||
comment on column sys_login_info.browser is '浏览器类型';
|
||||
comment on column sys_login_info.os is '操作系统';
|
||||
comment on column sys_login_info.status is '登录状态(0正常 1异常)';
|
||||
comment on column sys_login_info.msg is '提示消息';
|
||||
comment on column sys_login_info.login_time is '访问时间';
|
||||
|
||||
-- ### 通知公告表
|
||||
create table if not exists sys_notice
|
||||
(
|
||||
notice_id int8,
|
||||
notice_title varchar(50) not null,
|
||||
notice_type char not null,
|
||||
notice_content text,
|
||||
status char default '0'::bpchar,
|
||||
create_dept int8,
|
||||
create_by int8,
|
||||
create_time timestamp,
|
||||
update_by int8,
|
||||
update_time timestamp,
|
||||
remark varchar(255) default null::varchar,
|
||||
constraint sys_notice_pk primary key (notice_id)
|
||||
);
|
||||
|
||||
comment on table sys_notice is '通知公告表';
|
||||
comment on column sys_notice.notice_id is '公告ID';
|
||||
comment on column sys_notice.notice_title is '公告标题';
|
||||
comment on column sys_notice.notice_type is '公告类型(1通知 2公告)';
|
||||
comment on column sys_notice.notice_content is '公告内容';
|
||||
comment on column sys_notice.status is '公告状态(0正常 1关闭)';
|
||||
comment on column sys_notice.create_dept is '创建部门';
|
||||
comment on column sys_notice.create_by is '创建者';
|
||||
comment on column sys_notice.create_time is '创建时间';
|
||||
comment on column sys_notice.update_by is '更新者';
|
||||
comment on column sys_notice.update_time is '更新时间';
|
||||
comment on column sys_notice.remark is '备注';
|
||||
|
||||
-- ### 客户端授权表
|
||||
create table sys_client (
|
||||
id int8,
|
||||
client_id varchar(64) default ''::varchar,
|
||||
client_key varchar(32) default ''::varchar,
|
||||
client_secret varchar(255) default ''::varchar,
|
||||
grant_type varchar(255) default ''::varchar,
|
||||
device_type varchar(32) default ''::varchar,
|
||||
access_path varchar(1024) default ''::varchar,
|
||||
ip_whitelist varchar(1024) default ''::varchar,
|
||||
active_timeout int4 default 1800,
|
||||
timeout int4 default 604800,
|
||||
status char(1) default '0'::bpchar,
|
||||
del_flag char(1) default '0'::bpchar,
|
||||
create_dept int8,
|
||||
create_by int8,
|
||||
create_time timestamp,
|
||||
update_by int8,
|
||||
update_time timestamp,
|
||||
constraint sys_client_pk primary key (id)
|
||||
);
|
||||
|
||||
comment on table sys_client is '系统授权表';
|
||||
comment on column sys_client.id is '主键';
|
||||
comment on column sys_client.client_id is '客户端id';
|
||||
comment on column sys_client.client_key is '客户端key';
|
||||
comment on column sys_client.client_secret is '客户端秘钥';
|
||||
comment on column sys_client.grant_type is '授权类型';
|
||||
comment on column sys_client.device_type is '设备类型';
|
||||
comment on column sys_client.access_path is '允许访问路径';
|
||||
comment on column sys_client.ip_whitelist is 'IP白名单';
|
||||
comment on column sys_client.active_timeout is 'token活跃超时时间';
|
||||
comment on column sys_client.timeout is 'token固定超时';
|
||||
comment on column sys_client.status is '状态(0正常 1停用)';
|
||||
comment on column sys_client.del_flag is '删除标志(0代表存在 1代表删除)';
|
||||
comment on column sys_client.create_dept is '创建部门';
|
||||
comment on column sys_client.create_by is '创建者';
|
||||
comment on column sys_client.create_time is '创建时间';
|
||||
comment on column sys_client.update_by is '更新者';
|
||||
comment on column sys_client.update_time is '更新时间';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- ### Seata AT事务回滚日志表
|
||||
CREATE TABLE IF NOT EXISTS public.undo_log
|
||||
(
|
||||
id SERIAL NOT NULL,
|
||||
branch_id BIGINT NOT NULL,
|
||||
xid VARCHAR(128) NOT NULL,
|
||||
context VARCHAR(128) NOT NULL,
|
||||
rollback_info BYTEA NOT NULL,
|
||||
log_status INT NOT NULL,
|
||||
log_created TIMESTAMP(0) NOT NULL,
|
||||
log_modified TIMESTAMP(0) NOT NULL,
|
||||
CONSTRAINT pk_undo_log PRIMARY KEY (id),
|
||||
CONSTRAINT ux_undo_log UNIQUE (xid, branch_id)
|
||||
);
|
||||
CREATE INDEX ix_log_created ON undo_log(log_created);
|
||||
|
||||
COMMENT ON TABLE public.undo_log IS 'AT transaction mode undo table';
|
||||
COMMENT ON COLUMN public.undo_log.branch_id IS 'branch transaction id';
|
||||
COMMENT ON COLUMN public.undo_log.xid IS 'global transaction id';
|
||||
COMMENT ON COLUMN public.undo_log.context IS 'undo_log context,such as serialization';
|
||||
COMMENT ON COLUMN public.undo_log.rollback_info IS 'rollback info';
|
||||
COMMENT ON COLUMN public.undo_log.log_status IS '0:normal status,1:defense status';
|
||||
COMMENT ON COLUMN public.undo_log.log_created IS 'create datetime';
|
||||
COMMENT ON COLUMN public.undo_log.log_modified IS 'modify datetime';
|
||||
|
||||
CREATE SEQUENCE IF NOT EXISTS undo_log_id_seq INCREMENT BY 1 MINVALUE 1 ;
|
||||
|
||||
|
||||
create or replace function cast_varchar_to_timestamp(varchar) returns timestamptz as $$
|
||||
select to_timestamp($1, 'yyyy-mm-dd hh24:mi:ss');
|
||||
$$ language sql strict ;
|
||||
|
||||
create cast (varchar as timestamptz) with function cast_varchar_to_timestamp as IMPLICIT;
|
||||
@@ -17,6 +17,17 @@
|
||||
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-liquibase</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-common-nacos</artifactId>
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
databaseChangeLog:
|
||||
- include:
|
||||
file: mysql/workflow_table.sql
|
||||
relativeToChangelogFile: true
|
||||
- include:
|
||||
file: mysql/workflow_data.sql
|
||||
relativeToChangelogFile: true
|
||||
- include:
|
||||
file: postgresql/workflow_table.sql
|
||||
relativeToChangelogFile: true
|
||||
- include:
|
||||
file: postgresql/workflow_data.sql
|
||||
relativeToChangelogFile: true
|
||||
@@ -0,0 +1,20 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset seewis:workflow-mysql-data-baseline dbms:mysql splitStatements:true
|
||||
-- 工作流基础数据
|
||||
|
||||
-- ### 流程分类基础数据
|
||||
INSERT INTO flow_category values (1762300000000000100, 0, '0', 'OA审批', 0, '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null);
|
||||
INSERT INTO flow_category values (1762300000000000101, 1762300000000000100, '0,1762300000000000100', '假勤管理', 0, '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null);
|
||||
INSERT INTO flow_category values (1762300000000000102, 1762300000000000100, '0,1762300000000000100', '人事管理', 1, '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null);
|
||||
INSERT INTO flow_category values (1762300000000000103, 1762300000000000101, '0,1762300000000000100,1762300000000000101', '请假', 0, '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null);
|
||||
INSERT INTO flow_category values (1762300000000000104, 1762300000000000101, '0,1762300000000000100,1762300000000000101', '出差', 1, '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null);
|
||||
INSERT INTO flow_category values (1762300000000000105, 1762300000000000101, '0,1762300000000000100,1762300000000000101', '加班', 2, '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null);
|
||||
INSERT INTO flow_category values (1762300000000000106, 1762300000000000101, '0,1762300000000000100,1762300000000000101', '换班', 3, '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null);
|
||||
INSERT INTO flow_category values (1762300000000000107, 1762300000000000101, '0,1762300000000000100,1762300000000000101', '外出', 4, '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null);
|
||||
INSERT INTO flow_category values (1762300000000000108, 1762300000000000102, '0,1762300000000000100,1762300000000000102', '转正', 1, '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null);
|
||||
INSERT INTO flow_category values (1762300000000000109, 1762300000000000102, '0,1762300000000000100,1762300000000000102', '离职', 2, '0', 1761000000000000103, 1761100000000000001, sysdate(), null, null);
|
||||
|
||||
-- ### 流程表达式基础数据
|
||||
INSERT INTO flow_spel VALUES (1762400000000000001, 'spelRuleComponent', 'selectDeptLeaderById', 'initiatorDeptId', '#{@spelRuleComponent.selectDeptLeaderById(#initiatorDeptId)}', '根据部门id获取部门负责人', '0', '0', 1761000000000000103, 1761100000000000001, sysdate(), 1761100000000000001, sysdate());
|
||||
INSERT INTO flow_spel VALUES (1762400000000000002, NULL, NULL, 'initiator', '${initiator}', '流程发起人', '0', '0', 1761000000000000103, 1761100000000000001, sysdate(), 1761100000000000001, sysdate());
|
||||
+259
@@ -0,0 +1,259 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset seewis:workflow-mysql-table-baseline dbms:mysql splitStatements:true
|
||||
-- ----------------------------
|
||||
-- 0、warm-flow-all.sql,地址:https://gitee.com/dromara/warm-flow/blob/master/sql/mysql/warm-flow-all.sql
|
||||
-- ----------------------------
|
||||
-- ### 流程定义表
|
||||
CREATE TABLE `flow_definition`
|
||||
(
|
||||
`id` bigint NOT NULL COMMENT '主键id',
|
||||
`flow_code` varchar(40) NOT NULL COMMENT '流程编码',
|
||||
`flow_name` varchar(100) NOT NULL COMMENT '流程名称',
|
||||
`model_value` varchar(40) NOT NULL DEFAULT 'CLASSICS' COMMENT '设计器模型(CLASSICS经典模型 MIMIC仿钉钉模型)',
|
||||
`category` varchar(100) DEFAULT NULL COMMENT '流程类别',
|
||||
`version` varchar(20) NOT NULL COMMENT '流程版本',
|
||||
`is_publish` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否发布(0未发布 1已发布 9失效)',
|
||||
`form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)',
|
||||
`form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径',
|
||||
`activity_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '流程激活状态(0挂起 1激活)',
|
||||
`listener_type` varchar(100) DEFAULT NULL COMMENT '监听器类型',
|
||||
`listener_path` varchar(400) DEFAULT NULL COMMENT '监听器路径',
|
||||
`ext` varchar(500) DEFAULT NULL COMMENT '业务详情 存业务表对象json字符串',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`create_by` varchar(64) DEFAULT '' COMMENT '创建人',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`update_by` varchar(64) DEFAULT '' COMMENT '更新人',
|
||||
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
|
||||
`tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB COMMENT ='流程定义表';
|
||||
|
||||
-- ### 流程节点表
|
||||
|
||||
CREATE TABLE `flow_node`
|
||||
(
|
||||
`id` bigint NOT NULL COMMENT '主键id',
|
||||
`node_type` tinyint(1) NOT NULL COMMENT '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
|
||||
`definition_id` bigint NOT NULL COMMENT '流程定义id',
|
||||
`node_code` varchar(100) NOT NULL COMMENT '流程节点编码',
|
||||
`node_name` varchar(100) DEFAULT NULL COMMENT '流程节点名称',
|
||||
`permission_flag` varchar(200) DEFAULT NULL COMMENT '权限标识(权限类型:权限标识,可以多个,用@@隔开)',
|
||||
`node_ratio` varchar(200) DEFAULT NULL COMMENT '流程签署比例值',
|
||||
`coordinate` varchar(100) DEFAULT NULL COMMENT '坐标',
|
||||
`any_node_skip` varchar(100) DEFAULT NULL COMMENT '任意结点跳转',
|
||||
`listener_type` varchar(100) DEFAULT NULL COMMENT '监听器类型',
|
||||
`listener_path` varchar(400) DEFAULT NULL COMMENT '监听器路径',
|
||||
`form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)',
|
||||
`form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径',
|
||||
`version` varchar(20) NOT NULL COMMENT '版本',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`create_by` varchar(64) DEFAULT '' COMMENT '创建人',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`update_by` varchar(64) DEFAULT '' COMMENT '更新人',
|
||||
`ext` text COMMENT '节点扩展属性',
|
||||
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
|
||||
`tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB COMMENT ='流程节点表';
|
||||
|
||||
-- ### 节点跳转关联表
|
||||
|
||||
CREATE TABLE `flow_skip`
|
||||
(
|
||||
`id` bigint NOT NULL COMMENT '主键id',
|
||||
`definition_id` bigint NOT NULL COMMENT '流程定义id',
|
||||
`now_node_code` varchar(100) NOT NULL COMMENT '当前流程节点的编码',
|
||||
`now_node_type` tinyint(1) DEFAULT NULL COMMENT '当前节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
|
||||
`next_node_code` varchar(100) NOT NULL COMMENT '下一个流程节点的编码',
|
||||
`next_node_type` tinyint(1) DEFAULT NULL COMMENT '下一个节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
|
||||
`skip_name` varchar(100) DEFAULT NULL COMMENT '跳转名称',
|
||||
`skip_type` varchar(40) DEFAULT NULL COMMENT '跳转类型(PASS审批通过 REJECT退回)',
|
||||
`skip_condition` varchar(200) DEFAULT NULL COMMENT '跳转条件',
|
||||
`coordinate` varchar(100) DEFAULT NULL COMMENT '坐标',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`create_by` varchar(64) DEFAULT '' COMMENT '创建人',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`update_by` varchar(64) DEFAULT '' COMMENT '更新人',
|
||||
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
|
||||
`tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB COMMENT ='节点跳转关联表';
|
||||
|
||||
-- ### 流程实例表
|
||||
|
||||
CREATE TABLE `flow_instance`
|
||||
(
|
||||
`id` bigint NOT NULL COMMENT '主键id',
|
||||
`definition_id` bigint NOT NULL COMMENT '对应flow_definition表的id',
|
||||
`business_id` varchar(40) NOT NULL COMMENT '业务id',
|
||||
`node_type` tinyint(1) NOT NULL COMMENT '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
|
||||
`node_code` varchar(40) NOT NULL COMMENT '流程节点编码',
|
||||
`node_name` varchar(100) DEFAULT NULL COMMENT '流程节点名称',
|
||||
`variable` text COMMENT '任务变量',
|
||||
`flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)',
|
||||
`activity_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '流程激活状态(0挂起 1激活)',
|
||||
`def_json` text COMMENT '流程定义json',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`create_by` varchar(64) DEFAULT '' COMMENT '创建人',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`update_by` varchar(64) DEFAULT '' COMMENT '更新人',
|
||||
`ext` varchar(500) DEFAULT NULL COMMENT '扩展字段,预留给业务系统使用',
|
||||
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
|
||||
`tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB COMMENT ='流程实例表';
|
||||
|
||||
-- ### 待办任务表
|
||||
|
||||
CREATE TABLE `flow_task`
|
||||
(
|
||||
`id` bigint NOT NULL COMMENT '主键id',
|
||||
`definition_id` bigint NOT NULL COMMENT '对应flow_definition表的id',
|
||||
`instance_id` bigint NOT NULL COMMENT '对应flow_instance表的id',
|
||||
`node_code` varchar(100) NOT NULL COMMENT '节点编码',
|
||||
`node_name` varchar(100) DEFAULT NULL COMMENT '节点名称',
|
||||
`node_type` tinyint(1) NOT NULL COMMENT '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
|
||||
`flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)',
|
||||
`form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)',
|
||||
`form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`create_by` varchar(64) DEFAULT '' COMMENT '创建人',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`update_by` varchar(64) DEFAULT '' COMMENT '更新人',
|
||||
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
|
||||
`tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB COMMENT ='待办任务表';
|
||||
|
||||
-- ### 历史任务记录表
|
||||
|
||||
CREATE TABLE `flow_his_task`
|
||||
(
|
||||
`id` bigint(20) NOT NULL COMMENT '主键id',
|
||||
`definition_id` bigint(20) NOT NULL COMMENT '对应flow_definition表的id',
|
||||
`instance_id` bigint(20) NOT NULL COMMENT '对应flow_instance表的id',
|
||||
`task_id` bigint(20) NOT NULL COMMENT '对应flow_task表的id',
|
||||
`node_code` varchar(100) DEFAULT NULL COMMENT '开始节点编码',
|
||||
`node_name` varchar(100) DEFAULT NULL COMMENT '开始节点名称',
|
||||
`node_type` tinyint(1) DEFAULT NULL COMMENT '开始节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
|
||||
`target_node_code` varchar(200) DEFAULT NULL COMMENT '目标节点编码',
|
||||
`target_node_name` varchar(200) DEFAULT NULL COMMENT '结束节点名称',
|
||||
`approver` varchar(40) DEFAULT NULL COMMENT '审批人',
|
||||
`cooperate_type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '协作方式(1审批 2转办 3委派 4会签 5票签 6加签 7减签)',
|
||||
`collaborator` varchar(500) DEFAULT NULL COMMENT '协作人',
|
||||
`skip_type` varchar(10) NOT NULL COMMENT '流转类型(PASS通过 REJECT退回 NONE无动作)',
|
||||
`flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)',
|
||||
`form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)',
|
||||
`form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径',
|
||||
`message` varchar(500) DEFAULT NULL COMMENT '审批意见',
|
||||
`variable` TEXT DEFAULT NULL COMMENT '任务变量',
|
||||
`ext` TEXT DEFAULT NULL COMMENT '业务详情 存业务表对象json字符串',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '任务开始时间',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '审批完成时间',
|
||||
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
|
||||
`tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB COMMENT ='历史任务记录表';
|
||||
|
||||
|
||||
-- ### 流程用户表
|
||||
|
||||
|
||||
CREATE TABLE `flow_user`
|
||||
(
|
||||
`id` bigint NOT NULL COMMENT '主键id',
|
||||
`type` char(1) NOT NULL COMMENT '人员类型(1待办任务的审批人权限 2待办任务的转办人权限 3待办任务的委托人权限)',
|
||||
`processed_by` varchar(80) DEFAULT NULL COMMENT '权限人',
|
||||
`associated` bigint NOT NULL COMMENT '任务表id',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`create_by` varchar(80) DEFAULT NULL COMMENT '创建人',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`update_by` varchar(64) DEFAULT '' COMMENT '创建人',
|
||||
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
|
||||
`tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `user_processed_type` (`processed_by`, `type`),
|
||||
KEY `user_associated` (`associated`) USING BTREE
|
||||
) ENGINE = InnoDB COMMENT ='流程用户表';
|
||||
|
||||
-- ----------------------------
|
||||
-- 流程分类表
|
||||
-- ----------------------------
|
||||
-- ### 流程分类表
|
||||
create table flow_category
|
||||
(
|
||||
category_id bigint(20) not null comment '流程分类ID',
|
||||
parent_id bigint(20) default 0 comment '父流程分类id',
|
||||
ancestors varchar(500) default '' comment '祖级列表',
|
||||
category_name varchar(30) not null comment '流程分类名称',
|
||||
order_num int(4) default 0 comment '显示顺序',
|
||||
del_flag char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
|
||||
create_dept bigint(20) null comment '创建部门',
|
||||
create_by bigint(20) null comment '创建者',
|
||||
create_time datetime null comment '创建时间',
|
||||
update_by bigint(20) null comment '更新者',
|
||||
update_time datetime null comment '更新时间',
|
||||
primary key (category_id)
|
||||
) engine = innodb comment = '流程分类';
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 流程spel表达式定义表
|
||||
-- ----------------------------
|
||||
|
||||
-- ### 流程 SpEL 表
|
||||
|
||||
CREATE TABLE flow_spel (
|
||||
id bigint(20) NOT NULL COMMENT '主键id',
|
||||
component_name varchar(255) DEFAULT NULL COMMENT '组件名称',
|
||||
method_name varchar(255) DEFAULT NULL COMMENT '方法名',
|
||||
method_params varchar(255) DEFAULT NULL COMMENT '参数',
|
||||
view_spel varchar(255) DEFAULT NULL COMMENT '预览spel表达式',
|
||||
remark varchar(255) DEFAULT NULL COMMENT '备注',
|
||||
status char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
||||
del_flag char(1) DEFAULT '0' COMMENT '删除标志',
|
||||
create_dept bigint(20) DEFAULT NULL COMMENT '创建部门',
|
||||
create_by bigint(20) DEFAULT NULL COMMENT '创建者',
|
||||
create_time datetime DEFAULT NULL COMMENT '创建时间',
|
||||
update_by bigint(20) DEFAULT NULL COMMENT '更新者',
|
||||
update_time datetime DEFAULT NULL COMMENT '更新时间',
|
||||
PRIMARY KEY (id)
|
||||
) ENGINE = InnoDB COMMENT='流程spel表达式定义表';
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 流程实例业务扩展表
|
||||
-- ----------------------------
|
||||
|
||||
-- ### 流程实例业务扩展表
|
||||
|
||||
create table flow_instance_biz_ext (
|
||||
id bigint not null comment '主键id',
|
||||
create_dept bigint null comment '创建部门',
|
||||
create_by bigint null comment '创建者',
|
||||
create_time datetime null comment '创建时间',
|
||||
update_by bigint null comment '更新者',
|
||||
update_time datetime null comment '更新时间',
|
||||
business_code varchar(255) null comment '业务编码',
|
||||
business_title varchar(1000) null comment '业务标题',
|
||||
del_flag char default '0' null comment '删除标志(0代表存在 1代表删除)',
|
||||
instance_id bigint null comment '流程实例Id',
|
||||
business_id varchar(255) null comment '业务Id',
|
||||
PRIMARY KEY (id)
|
||||
) ENGINE = InnoDB COMMENT '流程实例业务扩展表';
|
||||
|
||||
|
||||
-- for AT mode you must to init this sql for you business database. the seata server not need it.
|
||||
-- ### Seata AT 事务回滚日志表
|
||||
CREATE TABLE IF NOT EXISTS undo_log
|
||||
(
|
||||
branch_id BIGINT(20) NOT NULL COMMENT 'branch transaction id',
|
||||
xid VARCHAR(100) NOT NULL COMMENT 'global transaction id',
|
||||
context VARCHAR(128) NOT NULL COMMENT 'undo_log context,such as serialization',
|
||||
rollback_info LONGBLOB NOT NULL COMMENT 'rollback info',
|
||||
log_status INT(11) NOT NULL COMMENT '0:normal status,1:defense status',
|
||||
log_created DATETIME(6) NOT NULL COMMENT 'create datetime',
|
||||
log_modified DATETIME(6) NOT NULL COMMENT 'modify datetime',
|
||||
UNIQUE KEY ux_undo_log (xid, branch_id)
|
||||
) ENGINE = InnoDB COMMENT ='AT transaction mode undo table';
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset seewis:workflow-postgresql-data-baseline dbms:postgresql splitStatements:false
|
||||
-- 工作流基础数据
|
||||
|
||||
-- ### 流程分类基础数据
|
||||
INSERT INTO flow_category VALUES (1762300000000000100, 0, '0', 'OA审批', 0, '0', 1761000000000000103, 1761100000000000001, now(), NULL, NULL);
|
||||
INSERT INTO flow_category VALUES (1762300000000000101, 1762300000000000100, '0,1762300000000000100', '假勤管理', 0, '0', 1761000000000000103, 1761100000000000001, now(), NULL, NULL);
|
||||
INSERT INTO flow_category VALUES (1762300000000000102, 1762300000000000100, '0,1762300000000000100', '人事管理', 1, '0', 1761000000000000103, 1761100000000000001, now(), NULL, NULL);
|
||||
INSERT INTO flow_category VALUES (1762300000000000103, 1762300000000000101, '0,1762300000000000100,1762300000000000101', '请假', 0, '0', 1761000000000000103, 1761100000000000001, now(), NULL, NULL);
|
||||
INSERT INTO flow_category VALUES (1762300000000000104, 1762300000000000101, '0,1762300000000000100,1762300000000000101', '出差', 1, '0', 1761000000000000103, 1761100000000000001, now(), NULL, NULL);
|
||||
INSERT INTO flow_category VALUES (1762300000000000105, 1762300000000000101, '0,1762300000000000100,1762300000000000101', '加班', 2, '0', 1761000000000000103, 1761100000000000001, now(), NULL, NULL);
|
||||
INSERT INTO flow_category VALUES (1762300000000000106, 1762300000000000101, '0,1762300000000000100,1762300000000000101', '换班', 3, '0', 1761000000000000103, 1761100000000000001, now(), NULL, NULL);
|
||||
INSERT INTO flow_category VALUES (1762300000000000107, 1762300000000000101, '0,1762300000000000100,1762300000000000101', '外出', 4, '0', 1761000000000000103, 1761100000000000001, now(), NULL, NULL);
|
||||
INSERT INTO flow_category VALUES (1762300000000000108, 1762300000000000102, '0,1762300000000000100,1762300000000000102', '转正', 1, '0', 1761000000000000103, 1761100000000000001, now(), NULL, NULL);
|
||||
INSERT INTO flow_category VALUES (1762300000000000109, 1762300000000000102, '0,1762300000000000100,1762300000000000102', '离职', 2, '0', 1761000000000000103, 1761100000000000001, now(), NULL, NULL);
|
||||
|
||||
-- ### 流程表达式基础数据
|
||||
INSERT INTO flow_spel VALUES (1762400000000000001, 'spelRuleComponent', 'selectDeptLeaderById', 'initiatorDeptId', '#{@spelRuleComponent.selectDeptLeaderById(#initiatorDeptId)}', '根据部门id获取部门负责人', '0', '0', 1761000000000000103, 1761100000000000001, now(), 1761100000000000001, now());
|
||||
INSERT INTO flow_spel VALUES (1762400000000000002, NULL, NULL, 'initiator', '${initiator}', '流程发起人', '0', '0', 1761000000000000103, 1761100000000000001, now(), 1761100000000000001, now());
|
||||
+440
@@ -0,0 +1,440 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset seewis:workflow-postgresql-table-baseline dbms:postgresql splitStatements:false
|
||||
-- ### 流程定义表
|
||||
CREATE TABLE flow_definition
|
||||
(
|
||||
id int8 NOT NULL,
|
||||
flow_code varchar(40) NOT NULL,
|
||||
flow_name varchar(100) NOT NULL,
|
||||
model_value varchar(40) NOT NULL DEFAULT 'CLASSICS',
|
||||
category varchar(100) NULL,
|
||||
"version" varchar(20) NOT NULL,
|
||||
is_publish int2 NOT NULL DEFAULT 0,
|
||||
form_custom bpchar(1) NULL DEFAULT 'N':: character varying,
|
||||
form_path varchar(100) NULL,
|
||||
activity_status int2 NOT NULL DEFAULT 1,
|
||||
listener_type varchar(100) NULL,
|
||||
listener_path varchar(400) NULL,
|
||||
ext varchar(500) NULL,
|
||||
create_time timestamp NULL,
|
||||
create_by varchar(64) NULL DEFAULT '':: character varying,
|
||||
update_time timestamp NULL,
|
||||
update_by varchar(64) NULL DEFAULT '':: character varying,
|
||||
del_flag bpchar(1) NULL DEFAULT '0':: character varying,
|
||||
tenant_id varchar(40) NULL,
|
||||
CONSTRAINT flow_definition_pkey PRIMARY KEY (id)
|
||||
);
|
||||
COMMENT ON TABLE flow_definition IS '流程定义表';
|
||||
|
||||
COMMENT ON COLUMN flow_definition.id IS '主键id';
|
||||
COMMENT ON COLUMN flow_definition.flow_code IS '流程编码';
|
||||
COMMENT ON COLUMN flow_definition.flow_name IS '流程名称';
|
||||
COMMENT ON COLUMN flow_definition.model_value IS '设计器模型(CLASSICS经典模型 MIMIC仿钉钉模型)';
|
||||
COMMENT ON COLUMN flow_definition.category IS '流程类别';
|
||||
COMMENT ON COLUMN flow_definition."version" IS '流程版本';
|
||||
COMMENT ON COLUMN flow_definition.is_publish IS '是否发布(0未发布 1已发布 9失效)';
|
||||
COMMENT ON COLUMN flow_definition.form_custom IS '审批表单是否自定义(Y是 N否)';
|
||||
COMMENT ON COLUMN flow_definition.form_path IS '审批表单路径';
|
||||
COMMENT ON COLUMN flow_definition.activity_status IS '流程激活状态(0挂起 1激活)';
|
||||
COMMENT ON COLUMN flow_definition.listener_type IS '监听器类型';
|
||||
COMMENT ON COLUMN flow_definition.listener_path IS '监听器路径';
|
||||
COMMENT ON COLUMN flow_definition.ext IS '扩展字段,预留给业务系统使用';
|
||||
COMMENT ON COLUMN flow_definition.create_time IS '创建时间';
|
||||
COMMENT ON COLUMN flow_definition.create_by IS '创建人';
|
||||
COMMENT ON COLUMN flow_definition.update_time IS '更新时间';
|
||||
COMMENT ON COLUMN flow_definition.update_by IS '更新人';
|
||||
COMMENT ON COLUMN flow_definition.del_flag IS '删除标志';
|
||||
COMMENT ON COLUMN flow_definition.tenant_id IS '租户id';
|
||||
|
||||
-- ### 流程节点表
|
||||
|
||||
CREATE TABLE flow_node
|
||||
(
|
||||
id int8 NOT NULL,
|
||||
node_type int2 NOT NULL,
|
||||
definition_id int8 NOT NULL,
|
||||
node_code varchar(100) NOT NULL,
|
||||
node_name varchar(100) NULL,
|
||||
permission_flag varchar(200) NULL,
|
||||
node_ratio varchar(200) NULL,
|
||||
coordinate varchar(100) NULL,
|
||||
any_node_skip varchar(100) NULL,
|
||||
listener_type varchar(100) NULL,
|
||||
listener_path varchar(400) NULL,
|
||||
form_custom bpchar(1) NULL DEFAULT 'N':: character varying,
|
||||
form_path varchar(100) NULL,
|
||||
"version" varchar(20) NOT NULL,
|
||||
create_time timestamp NULL,
|
||||
create_by varchar(64) NULL DEFAULT '':: character varying,
|
||||
update_time timestamp NULL,
|
||||
update_by varchar(64) NULL DEFAULT '':: character varying,
|
||||
ext text NULL,
|
||||
del_flag bpchar(1) NULL DEFAULT '0':: character varying,
|
||||
tenant_id varchar(40) NULL,
|
||||
CONSTRAINT flow_node_pkey PRIMARY KEY (id)
|
||||
);
|
||||
COMMENT ON TABLE flow_node IS '流程节点表';
|
||||
|
||||
COMMENT ON COLUMN flow_node.id IS '主键id';
|
||||
COMMENT ON COLUMN flow_node.node_type IS '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)';
|
||||
COMMENT ON COLUMN flow_node.definition_id IS '流程定义id';
|
||||
COMMENT ON COLUMN flow_node.node_code IS '流程节点编码';
|
||||
COMMENT ON COLUMN flow_node.node_name IS '流程节点名称';
|
||||
COMMENT ON COLUMN flow_node.permission_flag IS '权限标识(权限类型:权限标识,可以多个,用@@隔开)';
|
||||
COMMENT ON COLUMN flow_node.node_ratio IS '流程签署比例值';
|
||||
COMMENT ON COLUMN flow_node.coordinate IS '坐标';
|
||||
COMMENT ON COLUMN flow_node.any_node_skip IS '任意结点跳转';
|
||||
COMMENT ON COLUMN flow_node.listener_type IS '监听器类型';
|
||||
COMMENT ON COLUMN flow_node.listener_path IS '监听器路径';
|
||||
COMMENT ON COLUMN flow_node.form_custom IS '审批表单是否自定义(Y是 N否)';
|
||||
COMMENT ON COLUMN flow_node.form_path IS '审批表单路径';
|
||||
COMMENT ON COLUMN flow_node."version" IS '版本';
|
||||
COMMENT ON COLUMN flow_node.create_time IS '创建时间';
|
||||
COMMENT ON COLUMN flow_node.create_by IS '创建人';
|
||||
COMMENT ON COLUMN flow_node.update_time IS '更新时间';
|
||||
COMMENT ON COLUMN flow_node.update_by IS '更新人';
|
||||
COMMENT ON COLUMN flow_node.ext IS '节点扩展属性';
|
||||
COMMENT ON COLUMN flow_node.del_flag IS '删除标志';
|
||||
COMMENT ON COLUMN flow_node.tenant_id IS '租户id';
|
||||
|
||||
|
||||
-- ### 节点跳转关联表
|
||||
|
||||
|
||||
CREATE TABLE flow_skip
|
||||
(
|
||||
id int8 NOT NULL,
|
||||
definition_id int8 NOT NULL,
|
||||
now_node_code varchar(100) NOT NULL,
|
||||
now_node_type int2 NULL,
|
||||
next_node_code varchar(100) NOT NULL,
|
||||
next_node_type int2 NULL,
|
||||
skip_name varchar(100) NULL,
|
||||
skip_type varchar(40) NULL,
|
||||
skip_condition varchar(200) NULL,
|
||||
coordinate varchar(100) NULL,
|
||||
create_time timestamp NULL,
|
||||
create_by varchar(64) NULL DEFAULT '':: character varying,
|
||||
update_time timestamp NULL,
|
||||
update_by varchar(64) NULL DEFAULT '':: character varying,
|
||||
del_flag bpchar(1) NULL DEFAULT '0':: character varying,
|
||||
tenant_id varchar(40) NULL,
|
||||
CONSTRAINT flow_skip_pkey PRIMARY KEY (id)
|
||||
);
|
||||
COMMENT ON TABLE flow_skip IS '节点跳转关联表';
|
||||
|
||||
COMMENT ON COLUMN flow_skip.id IS '主键id';
|
||||
COMMENT ON COLUMN flow_skip.definition_id IS '流程定义id';
|
||||
COMMENT ON COLUMN flow_skip.now_node_code IS '当前流程节点的编码';
|
||||
COMMENT ON COLUMN flow_skip.now_node_type IS '当前节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)';
|
||||
COMMENT ON COLUMN flow_skip.next_node_code IS '下一个流程节点的编码';
|
||||
COMMENT ON COLUMN flow_skip.next_node_type IS '下一个节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)';
|
||||
COMMENT ON COLUMN flow_skip.skip_name IS '跳转名称';
|
||||
COMMENT ON COLUMN flow_skip.skip_type IS '跳转类型(PASS审批通过 REJECT退回)';
|
||||
COMMENT ON COLUMN flow_skip.skip_condition IS '跳转条件';
|
||||
COMMENT ON COLUMN flow_skip.coordinate IS '坐标';
|
||||
COMMENT ON COLUMN flow_skip.create_time IS '创建时间';
|
||||
COMMENT ON COLUMN flow_skip.create_by IS '创建人';
|
||||
COMMENT ON COLUMN flow_skip.update_time IS '更新时间';
|
||||
COMMENT ON COLUMN flow_skip.update_by IS '更新人';
|
||||
COMMENT ON COLUMN flow_skip.del_flag IS '删除标志';
|
||||
COMMENT ON COLUMN flow_skip.tenant_id IS '租户id';
|
||||
|
||||
-- ### 流程实例表
|
||||
|
||||
CREATE TABLE flow_instance
|
||||
(
|
||||
id int8 NOT NULL,
|
||||
definition_id int8 NOT NULL,
|
||||
business_id varchar(40) NOT NULL,
|
||||
node_type int2 NOT NULL,
|
||||
node_code varchar(40) NOT NULL,
|
||||
node_name varchar(100) NULL,
|
||||
variable text NULL,
|
||||
flow_status varchar(20) NOT NULL,
|
||||
activity_status int2 NOT NULL DEFAULT 1,
|
||||
def_json text NULL,
|
||||
create_time timestamp NULL,
|
||||
create_by varchar(64) NULL DEFAULT '':: character varying,
|
||||
update_time timestamp NULL,
|
||||
update_by varchar(64) NULL DEFAULT '':: character varying,
|
||||
ext varchar(500) NULL,
|
||||
del_flag bpchar(1) NULL DEFAULT '0':: character varying,
|
||||
tenant_id varchar(40) NULL,
|
||||
CONSTRAINT flow_instance_pkey PRIMARY KEY (id)
|
||||
);
|
||||
COMMENT ON TABLE flow_instance IS '流程实例表';
|
||||
|
||||
COMMENT ON COLUMN flow_instance.id IS '主键id';
|
||||
COMMENT ON COLUMN flow_instance.definition_id IS '对应flow_definition表的id';
|
||||
COMMENT ON COLUMN flow_instance.business_id IS '业务id';
|
||||
COMMENT ON COLUMN flow_instance.node_type IS '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)';
|
||||
COMMENT ON COLUMN flow_instance.node_code IS '流程节点编码';
|
||||
COMMENT ON COLUMN flow_instance.node_name IS '流程节点名称';
|
||||
COMMENT ON COLUMN flow_instance.variable IS '任务变量';
|
||||
COMMENT ON COLUMN flow_instance.flow_status IS '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)';
|
||||
COMMENT ON COLUMN flow_instance.activity_status IS '流程激活状态(0挂起 1激活)';
|
||||
COMMENT ON COLUMN flow_instance.def_json IS '流程定义json';
|
||||
COMMENT ON COLUMN flow_instance.create_time IS '创建时间';
|
||||
COMMENT ON COLUMN flow_instance.create_by IS '创建人';
|
||||
COMMENT ON COLUMN flow_instance.update_time IS '更新时间';
|
||||
COMMENT ON COLUMN flow_instance.update_by IS '更新人';
|
||||
COMMENT ON COLUMN flow_instance.ext IS '扩展字段,预留给业务系统使用';
|
||||
COMMENT ON COLUMN flow_instance.del_flag IS '删除标志';
|
||||
COMMENT ON COLUMN flow_instance.tenant_id IS '租户id';
|
||||
|
||||
-- ### 待办任务表
|
||||
|
||||
CREATE TABLE flow_task
|
||||
(
|
||||
id int8 NOT NULL,
|
||||
definition_id int8 NOT NULL,
|
||||
instance_id int8 NOT NULL,
|
||||
node_code varchar(100) NOT NULL,
|
||||
node_name varchar(100) NULL,
|
||||
node_type int2 NOT NULL,
|
||||
flow_status varchar(20) NOT NULL,
|
||||
form_custom bpchar(1) NULL DEFAULT 'N':: character varying,
|
||||
form_path varchar(100) NULL,
|
||||
create_time timestamp NULL,
|
||||
create_by varchar(64) NULL DEFAULT '':: character varying,
|
||||
update_time timestamp NULL,
|
||||
update_by varchar(64) NULL DEFAULT '':: character varying,
|
||||
del_flag bpchar(1) NULL DEFAULT '0':: character varying,
|
||||
tenant_id varchar(40) NULL,
|
||||
CONSTRAINT flow_task_pkey PRIMARY KEY (id)
|
||||
);
|
||||
COMMENT ON TABLE flow_task IS '待办任务表';
|
||||
|
||||
COMMENT ON COLUMN flow_task.id IS '主键id';
|
||||
COMMENT ON COLUMN flow_task.definition_id IS '对应flow_definition表的id';
|
||||
COMMENT ON COLUMN flow_task.instance_id IS '对应flow_instance表的id';
|
||||
COMMENT ON COLUMN flow_task.node_code IS '节点编码';
|
||||
COMMENT ON COLUMN flow_task.node_name IS '节点名称';
|
||||
COMMENT ON COLUMN flow_task.node_type IS '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)';
|
||||
COMMENT ON COLUMN flow_task.flow_status IS '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)';
|
||||
COMMENT ON COLUMN flow_task.form_custom IS '审批表单是否自定义(Y是 N否)';
|
||||
COMMENT ON COLUMN flow_task.form_path IS '审批表单路径';
|
||||
COMMENT ON COLUMN flow_task.create_time IS '创建时间';
|
||||
COMMENT ON COLUMN flow_task.create_by IS '创建人';
|
||||
COMMENT ON COLUMN flow_task.update_time IS '更新时间';
|
||||
COMMENT ON COLUMN flow_task.update_by IS '更新人';
|
||||
COMMENT ON COLUMN flow_task.del_flag IS '删除标志';
|
||||
COMMENT ON COLUMN flow_task.tenant_id IS '租户id';
|
||||
|
||||
-- ### 历史任务记录表
|
||||
|
||||
CREATE TABLE flow_his_task
|
||||
(
|
||||
id int8 NOT NULL,
|
||||
definition_id int8 NOT NULL,
|
||||
instance_id int8 NOT NULL,
|
||||
task_id int8 NOT NULL,
|
||||
node_code varchar(100) NULL,
|
||||
node_name varchar(100) NULL,
|
||||
node_type int2 NULL,
|
||||
target_node_code varchar(200) NULL,
|
||||
target_node_name varchar(200) NULL,
|
||||
approver varchar(40) NULL,
|
||||
cooperate_type int2 NOT NULL DEFAULT 0,
|
||||
collaborator varchar(500) NULL,
|
||||
skip_type varchar(10) NULL,
|
||||
flow_status varchar(20) NOT NULL,
|
||||
form_custom bpchar(1) NULL DEFAULT 'N':: character varying,
|
||||
form_path varchar(100) NULL,
|
||||
ext text NULL,
|
||||
message varchar(500) NULL,
|
||||
variable text NULL,
|
||||
create_time timestamp NULL,
|
||||
update_time timestamp NULL,
|
||||
del_flag bpchar(1) NULL DEFAULT '0':: character varying,
|
||||
tenant_id varchar(40) NULL,
|
||||
CONSTRAINT flow_his_task_pkey PRIMARY KEY (id)
|
||||
);
|
||||
COMMENT ON TABLE flow_his_task IS '历史任务记录表';
|
||||
|
||||
COMMENT ON COLUMN flow_his_task.id IS '主键id';
|
||||
COMMENT ON COLUMN flow_his_task.definition_id IS '对应flow_definition表的id';
|
||||
COMMENT ON COLUMN flow_his_task.instance_id IS '对应flow_instance表的id';
|
||||
COMMENT ON COLUMN flow_his_task.task_id IS '对应flow_task表的id';
|
||||
COMMENT ON COLUMN flow_his_task.node_code IS '开始节点编码';
|
||||
COMMENT ON COLUMN flow_his_task.node_name IS '开始节点名称';
|
||||
COMMENT ON COLUMN flow_his_task.node_type IS '开始节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)';
|
||||
COMMENT ON COLUMN flow_his_task.target_node_code IS '目标节点编码';
|
||||
COMMENT ON COLUMN flow_his_task.target_node_name IS '结束节点名称';
|
||||
COMMENT ON COLUMN flow_his_task.approver IS '审批者';
|
||||
COMMENT ON COLUMN flow_his_task.cooperate_type IS '协作方式(1审批 2转办 3委派 4会签 5票签 6加签 7减签)';
|
||||
COMMENT ON COLUMN flow_his_task.collaborator IS '协作人';
|
||||
COMMENT ON COLUMN flow_his_task.skip_type IS '流转类型(PASS通过 REJECT退回 NONE无动作)';
|
||||
COMMENT ON COLUMN flow_his_task.flow_status IS '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)';
|
||||
COMMENT ON COLUMN flow_his_task.form_custom IS '审批表单是否自定义(Y是 N否)';
|
||||
COMMENT ON COLUMN flow_his_task.form_path IS '审批表单路径';
|
||||
COMMENT ON COLUMN flow_his_task.message IS '审批意见';
|
||||
COMMENT ON COLUMN flow_his_task.variable IS '任务变量';
|
||||
COMMENT ON COLUMN flow_his_task.ext IS '扩展字段,预留给业务系统使用';
|
||||
COMMENT ON COLUMN flow_his_task.create_time IS '任务开始时间';
|
||||
COMMENT ON COLUMN flow_his_task.update_time IS '审批完成时间';
|
||||
COMMENT ON COLUMN flow_his_task.del_flag IS '删除标志';
|
||||
COMMENT ON COLUMN flow_his_task.tenant_id IS '租户id';
|
||||
|
||||
-- ### 流程用户表
|
||||
|
||||
CREATE TABLE flow_user
|
||||
(
|
||||
id int8 NOT NULL,
|
||||
"type" bpchar(1) NOT NULL,
|
||||
processed_by varchar(80) NULL,
|
||||
associated int8 NOT NULL,
|
||||
create_time timestamp NULL,
|
||||
create_by varchar(64) NULL DEFAULT '':: character varying,
|
||||
update_time timestamp NULL,
|
||||
update_by varchar(64) NULL DEFAULT '':: character varying,
|
||||
del_flag bpchar(1) NULL DEFAULT '0':: character varying,
|
||||
tenant_id varchar(40) NULL,
|
||||
CONSTRAINT flow_user_pk PRIMARY KEY (id)
|
||||
);
|
||||
CREATE INDEX user_processed_type ON flow_user USING btree (processed_by, type);
|
||||
CREATE INDEX user_associated_idx ON FLOW_USER USING btree (associated);
|
||||
COMMENT ON TABLE flow_user IS '流程用户表';
|
||||
|
||||
COMMENT ON COLUMN flow_user.id IS '主键id';
|
||||
COMMENT ON COLUMN flow_user."type" IS '人员类型(1待办任务的审批人权限 2待办任务的转办人权限 3待办任务的委托人权限)';
|
||||
COMMENT ON COLUMN flow_user.processed_by IS '权限人';
|
||||
COMMENT ON COLUMN flow_user.associated IS '任务表id';
|
||||
COMMENT ON COLUMN flow_user.create_time IS '创建时间';
|
||||
COMMENT ON COLUMN flow_user.create_by IS '创建人';
|
||||
COMMENT ON COLUMN flow_user.update_time IS '更新时间';
|
||||
COMMENT ON COLUMN flow_user.update_by IS '更新人';
|
||||
COMMENT ON COLUMN flow_user.del_flag IS '删除标志';
|
||||
COMMENT ON COLUMN flow_user.tenant_id IS '租户id';
|
||||
|
||||
-- ----------------------------
|
||||
-- 流程分类表
|
||||
-- ----------------------------
|
||||
-- ### 流程分类表
|
||||
CREATE TABLE flow_category
|
||||
(
|
||||
category_id int8 NOT NULL,
|
||||
parent_id int8 DEFAULT 0,
|
||||
ancestors VARCHAR(500) DEFAULT ''::varchar,
|
||||
category_name VARCHAR(30) NOT NULL,
|
||||
order_num INT DEFAULT 0,
|
||||
del_flag CHAR DEFAULT '0'::bpchar,
|
||||
create_dept int8,
|
||||
create_by int8,
|
||||
create_time TIMESTAMP,
|
||||
update_by int8,
|
||||
update_time TIMESTAMP,
|
||||
PRIMARY KEY (category_id)
|
||||
);
|
||||
|
||||
COMMENT ON TABLE flow_category IS '流程分类';
|
||||
COMMENT ON COLUMN flow_category.category_id IS '流程分类ID';
|
||||
COMMENT ON COLUMN flow_category.parent_id IS '父流程分类id';
|
||||
COMMENT ON COLUMN flow_category.ancestors IS '祖级列表';
|
||||
COMMENT ON COLUMN flow_category.category_name IS '流程分类名称';
|
||||
COMMENT ON COLUMN flow_category.order_num IS '显示顺序';
|
||||
COMMENT ON COLUMN flow_category.del_flag IS '删除标志(0代表存在 1代表删除)';
|
||||
COMMENT ON COLUMN flow_category.create_dept IS '创建部门';
|
||||
COMMENT ON COLUMN flow_category.create_by IS '创建者';
|
||||
COMMENT ON COLUMN flow_category.create_time IS '创建时间';
|
||||
COMMENT ON COLUMN flow_category.update_by IS '更新者';
|
||||
COMMENT ON COLUMN flow_category.update_time IS '更新时间';
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 流程spel表达式定义表
|
||||
-- ----------------------------
|
||||
-- ### 流程 SpEL 表
|
||||
CREATE TABLE flow_spel (
|
||||
id int8 NOT NULL,
|
||||
component_name VARCHAR(255),
|
||||
method_name VARCHAR(255),
|
||||
method_params VARCHAR(255),
|
||||
view_spel VARCHAR(255),
|
||||
remark VARCHAR(255),
|
||||
status CHAR(1) DEFAULT '0',
|
||||
del_flag CHAR(1) DEFAULT '0',
|
||||
create_dept int8,
|
||||
create_by int8,
|
||||
create_time TIMESTAMP,
|
||||
update_by int8,
|
||||
update_time TIMESTAMP,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
COMMENT ON TABLE flow_spel IS '流程spel表达式定义表';
|
||||
COMMENT ON COLUMN flow_spel.id IS '主键id';
|
||||
COMMENT ON COLUMN flow_spel.component_name IS '组件名称';
|
||||
COMMENT ON COLUMN flow_spel.method_name IS '方法名';
|
||||
COMMENT ON COLUMN flow_spel.method_params IS '参数';
|
||||
COMMENT ON COLUMN flow_spel.view_spel IS '预览spel表达式';
|
||||
COMMENT ON COLUMN flow_spel.remark IS '备注';
|
||||
COMMENT ON COLUMN flow_spel.status IS '状态(0正常 1停用)';
|
||||
COMMENT ON COLUMN flow_spel.del_flag IS '删除标志';
|
||||
COMMENT ON COLUMN flow_spel.create_dept IS '创建部门';
|
||||
COMMENT ON COLUMN flow_spel.create_by IS '创建者';
|
||||
COMMENT ON COLUMN flow_spel.create_time IS '创建时间';
|
||||
COMMENT ON COLUMN flow_spel.update_by IS '更新者';
|
||||
COMMENT ON COLUMN flow_spel.update_time IS '更新时间';
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 流程实例业务扩展表
|
||||
-- ----------------------------
|
||||
-- ### 流程实例业务扩展表
|
||||
CREATE TABLE flow_instance_biz_ext (
|
||||
id int8,
|
||||
create_dept int8,
|
||||
create_by int8,
|
||||
create_time TIMESTAMP,
|
||||
update_by int8,
|
||||
update_time TIMESTAMP,
|
||||
business_code VARCHAR(255),
|
||||
business_title VARCHAR(1000),
|
||||
del_flag CHAR(1) DEFAULT '0',
|
||||
instance_id int8,
|
||||
business_id VARCHAR(255),
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
COMMENT ON TABLE flow_instance_biz_ext IS '流程实例业务扩展表';
|
||||
COMMENT ON COLUMN flow_instance_biz_ext.id IS '主键id';
|
||||
COMMENT ON COLUMN flow_instance_biz_ext.create_dept IS '创建部门';
|
||||
COMMENT ON COLUMN flow_instance_biz_ext.create_by IS '创建者';
|
||||
COMMENT ON COLUMN flow_instance_biz_ext.create_time IS '创建时间';
|
||||
COMMENT ON COLUMN flow_instance_biz_ext.update_by IS '更新者';
|
||||
COMMENT ON COLUMN flow_instance_biz_ext.update_time IS '更新时间';
|
||||
COMMENT ON COLUMN flow_instance_biz_ext.business_code IS '业务编码';
|
||||
COMMENT ON COLUMN flow_instance_biz_ext.business_title IS '业务标题';
|
||||
COMMENT ON COLUMN flow_instance_biz_ext.del_flag IS '删除标志(0代表存在 1代表删除)';
|
||||
COMMENT ON COLUMN flow_instance_biz_ext.instance_id IS '流程实例Id';
|
||||
COMMENT ON COLUMN flow_instance_biz_ext.business_id IS '业务Id';
|
||||
|
||||
|
||||
-- for AT mode you must to init this sql for you business database. the seata server not need it.
|
||||
-- ### Seata AT 事务回滚日志表
|
||||
CREATE TABLE IF NOT EXISTS public.undo_log
|
||||
(
|
||||
id SERIAL NOT NULL,
|
||||
branch_id BIGINT NOT NULL,
|
||||
xid VARCHAR(128) NOT NULL,
|
||||
context VARCHAR(128) NOT NULL,
|
||||
rollback_info BYTEA NOT NULL,
|
||||
log_status INT NOT NULL,
|
||||
log_created TIMESTAMP(0) NOT NULL,
|
||||
log_modified TIMESTAMP(0) NOT NULL,
|
||||
CONSTRAINT pk_undo_log PRIMARY KEY (id),
|
||||
CONSTRAINT ux_undo_log UNIQUE (xid, branch_id)
|
||||
);
|
||||
CREATE INDEX ix_log_created ON undo_log(log_created);
|
||||
|
||||
COMMENT ON TABLE public.undo_log IS 'AT transaction mode undo table';
|
||||
COMMENT ON COLUMN public.undo_log.branch_id IS 'branch transaction id';
|
||||
COMMENT ON COLUMN public.undo_log.xid IS 'global transaction id';
|
||||
COMMENT ON COLUMN public.undo_log.context IS 'undo_log context,such as serialization';
|
||||
COMMENT ON COLUMN public.undo_log.rollback_info IS 'rollback info';
|
||||
COMMENT ON COLUMN public.undo_log.log_status IS '0:normal status,1:defense status';
|
||||
COMMENT ON COLUMN public.undo_log.log_created IS 'create datetime';
|
||||
COMMENT ON COLUMN public.undo_log.log_modified IS 'modify datetime';
|
||||
@@ -12,6 +12,18 @@
|
||||
<artifactId>ruoyi-snailai-server</artifactId>
|
||||
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-liquibase</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- Snail AI 服务端 -->
|
||||
<dependency>
|
||||
<groupId>com.aizuda</groupId>
|
||||
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
databaseChangeLog:
|
||||
- include:
|
||||
file: mysql/ai_table.sql
|
||||
relativeToChangelogFile: true
|
||||
- include:
|
||||
file: mysql/ai_data.sql
|
||||
relativeToChangelogFile: true
|
||||
- include:
|
||||
file: postgresql/ai_table.sql
|
||||
relativeToChangelogFile: true
|
||||
- include:
|
||||
file: postgresql/ai_data.sql
|
||||
relativeToChangelogFile: true
|
||||
@@ -0,0 +1,23 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset seewis:ai-mysql-data-baseline dbms:mysql splitStatements:true
|
||||
-- ============================================================
|
||||
-- 九、初始化数据
|
||||
-- ============================================================
|
||||
|
||||
-- 默认管理员:admin / admin123
|
||||
INSERT INTO sai_user VALUES (1, 2, NULL, 'admin', 'admin', '', 'pbkdf2$120000$c25haWwtYWktYWRtaW4tMQ==$kakglT/wYKOgv/77Ah1stie58d/JbY2nGgq5DwgUBw4=', NULL, NOW(), NOW());
|
||||
|
||||
-- 插入常见的AI提供商
|
||||
INSERT INTO sai_model_provider (provider_name, provider_key, description, is_enabled)
|
||||
VALUES ('OpenAI', 'openai', 'OpenAI官方模型 (GPT-4, GPT-3.5等)', 1),
|
||||
('Claude', 'claude', 'Anthropic Claude模型', 1),
|
||||
('Ollama', 'ollama', '本地开源模型 (Llama, Mistral等)', 1),
|
||||
('Google Gemini', 'gemini', 'Google Gemini模型', 1),
|
||||
('阿里云百炼', 'qwen', '阿里云百炼 OpenAI 兼容模型 (Qwen等)', 1),
|
||||
('DeepSeek', 'deepseek', 'DeepSeek OpenAI 兼容模型', 1),
|
||||
('智谱AI', 'zhipu', '智谱AI OpenAI 兼容模型 (GLM等)', 1);
|
||||
|
||||
|
||||
|
||||
INSERT INTO sai_app VALUES (1, '1', 'ruoyi-ai', '', 'SAI_566a6bfbc26e4998b4841cc927d50c5d', 'LEAST_LOAD', 1, NOW(), NOW());
|
||||
@@ -0,0 +1,572 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset seewis:ai-mysql-table-baseline dbms:mysql splitStatements:true
|
||||
-- ============================================================
|
||||
-- Snail AI MySQL 全量建表脚本(仅 CREATE,无 ALTER)
|
||||
-- 使用:mysql -u user -p database < ry-ai.sql
|
||||
-- ============================================================
|
||||
|
||||
|
||||
-- ============================================================
|
||||
-- 一、用户与权限
|
||||
-- ============================================================
|
||||
|
||||
-- 1.1 用户表
|
||||
-- ### 用户表
|
||||
CREATE TABLE sai_user
|
||||
(
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
role INT,
|
||||
totals INT,
|
||||
username VARCHAR(255),
|
||||
nickname VARCHAR(128) DEFAULT NULL COMMENT '用户昵称',
|
||||
email VARCHAR(64),
|
||||
password VARCHAR(255) NOT NULL,
|
||||
resource_id BIGINT DEFAULT NULL COMMENT '头像资源ID,关联 sai_resource.id',
|
||||
create_dt DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
UNIQUE KEY uk_username (username)
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4;
|
||||
|
||||
-- 1.2 OpenAPI 外部用户映射表
|
||||
-- ### OpenAPI 外部用户映射表
|
||||
CREATE TABLE sai_openapi_user
|
||||
(
|
||||
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
app_id VARCHAR(128) NOT NULL COMMENT '关联 sai_app.app_id',
|
||||
open_id VARCHAR(64) NOT NULL COMMENT '平台分配的唯一标识(UUID)',
|
||||
platform_user_id BIGINT NOT NULL COMMENT '关联 sai_user.id,注册时自动创建',
|
||||
external_id VARCHAR(256) DEFAULT NULL COMMENT '外部系统的用户标识(可选,幂等用)',
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
UNIQUE KEY uk_app_open (app_id, open_id),
|
||||
UNIQUE KEY uk_app_external (app_id, external_id),
|
||||
INDEX idx_open_id (open_id),
|
||||
INDEX idx_platform_user (platform_user_id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
||||
COMMENT='OpenAPI 外部用户映射表';
|
||||
|
||||
|
||||
-- ============================================================
|
||||
-- 二、AI 模型管理
|
||||
-- ============================================================
|
||||
|
||||
-- 2.1 AI 模型提供商表
|
||||
-- ### AI 模型提供商表
|
||||
CREATE TABLE IF NOT EXISTS sai_model_provider
|
||||
(
|
||||
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
provider_name VARCHAR(255) NOT NULL COMMENT '提供商名称',
|
||||
provider_key VARCHAR(50) NOT NULL COMMENT '提供商标识符',
|
||||
description TEXT COMMENT '提供商描述',
|
||||
icon_url VARCHAR(500) COMMENT 'LOGO图标URL',
|
||||
is_enabled TINYINT(1) DEFAULT 1 COMMENT '是否启用',
|
||||
created_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
updated_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
UNIQUE KEY uk_provider_name (provider_name),
|
||||
UNIQUE KEY uk_provider_key (provider_key)
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci COMMENT = 'AI模型提供商表';
|
||||
|
||||
CREATE INDEX idx_provider_key ON sai_model_provider (provider_key);
|
||||
CREATE INDEX idx_is_enabled ON sai_model_provider (is_enabled);
|
||||
|
||||
-- 2.2 AI模型配置表
|
||||
-- ### AI 模型配置表
|
||||
CREATE TABLE IF NOT EXISTS sai_model_config
|
||||
(
|
||||
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
provider_id BIGINT NOT NULL COMMENT '提供商ID',
|
||||
model_name VARCHAR(255) NOT NULL COMMENT '模型名称',
|
||||
model_key VARCHAR(100) NOT NULL COMMENT '模型标识符',
|
||||
model_type VARCHAR(50) NOT NULL COMMENT '模型类型(CHAT/EMBEDDING/RERANKER/IMAGE/SPEECH)',
|
||||
adapter_key VARCHAR(100) COMMENT '底层协议适配器标识(openai-compatible/http等)',
|
||||
description VARCHAR(1000) COMMENT '模型描述',
|
||||
api_key VARCHAR(1000) COMMENT 'API密钥(加密存储)',
|
||||
api_endpoint VARCHAR(500) COMMENT 'API端点URL',
|
||||
config_json TEXT COMMENT '模型参数配置(JSON格式)',
|
||||
owner_id BIGINT COMMENT '所有者ID(NULL=全局,具体值=用户ID)',
|
||||
scope VARCHAR(20) NOT NULL DEFAULT 'GLOBAL' COMMENT '作用域(GLOBAL/PERSONAL)',
|
||||
is_default TINYINT(1) DEFAULT 0 COMMENT '是否为默认模型',
|
||||
is_enabled TINYINT(1) DEFAULT 1 COMMENT '是否启用',
|
||||
created_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
updated_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
KEY fk_provider_id (provider_id)
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci COMMENT = 'AI模型配置表';
|
||||
|
||||
CREATE INDEX idx_provider_model_type ON sai_model_config (provider_id, model_type);
|
||||
CREATE INDEX idx_model_type_enabled ON sai_model_config (model_type, is_enabled);
|
||||
CREATE INDEX idx_owner_id ON sai_model_config (owner_id);
|
||||
CREATE INDEX idx_is_default ON sai_model_config (is_default);
|
||||
CREATE INDEX idx_scope ON sai_model_config (scope);
|
||||
CREATE INDEX idx_model_key ON sai_model_config (model_key);
|
||||
|
||||
-- 2.3 模型使用统计表
|
||||
-- ### 模型使用统计表
|
||||
CREATE TABLE IF NOT EXISTS sai_model_usage_stat
|
||||
(
|
||||
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
model_id BIGINT NOT NULL COMMENT '模型ID',
|
||||
user_id BIGINT NOT NULL COMMENT '用户ID',
|
||||
total_calls BIGINT DEFAULT 0 COMMENT '总调用次数',
|
||||
success_calls BIGINT DEFAULT 0 COMMENT '成功调用次数',
|
||||
failed_calls BIGINT DEFAULT 0 COMMENT '失败调用次数',
|
||||
total_tokens_used BIGINT DEFAULT 0 COMMENT '总Token使用量',
|
||||
total_cost DECIMAL(18, 8) DEFAULT 0 COMMENT '总费用',
|
||||
avg_response_time BIGINT DEFAULT 0 COMMENT '平均响应时间(毫秒)',
|
||||
last_used_dt TIMESTAMP NULL DEFAULT NULL COMMENT '最后使用时间',
|
||||
created_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
updated_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
UNIQUE KEY unique_model_user (model_id, user_id),
|
||||
KEY fk_stat_model_id (model_id)
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci COMMENT = '模型使用统计表';
|
||||
|
||||
CREATE INDEX idx_model_id ON sai_model_usage_stat (model_id);
|
||||
CREATE INDEX idx_user_id ON sai_model_usage_stat (user_id);
|
||||
CREATE INDEX idx_last_used_dt ON sai_model_usage_stat (last_used_dt);
|
||||
|
||||
|
||||
-- ============================================================
|
||||
-- 三、智能体(Agent)
|
||||
-- ============================================================
|
||||
|
||||
-- 3.1 智能体主表
|
||||
-- ### 智能体主表
|
||||
CREATE TABLE IF NOT EXISTS sai_agent
|
||||
(
|
||||
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(255) NOT NULL COMMENT '智能体名称',
|
||||
description TEXT COMMENT '智能体描述',
|
||||
avatar VARCHAR(512) COMMENT '头像URL',
|
||||
instruction TEXT COMMENT '系统指令(System Prompt)',
|
||||
greeting TEXT COMMENT '欢迎语',
|
||||
preset_questions TEXT COMMENT '预设问题列表(JSON数组字符串)',
|
||||
chat_model_id BIGINT COMMENT '关联的对话模型ID',
|
||||
memory_enabled TINYINT(1) DEFAULT 0 COMMENT '是否启用记忆库',
|
||||
mcp_enabled TINYINT(1) DEFAULT 0 COMMENT '是否启用MCP',
|
||||
skill_enabled TINYINT(1) DEFAULT 0 COMMENT '是否启用Skill',
|
||||
web_search_enabled TINYINT(1) DEFAULT 0 COMMENT '是否启用联网搜索',
|
||||
rag_enabled TINYINT(1) DEFAULT 0 COMMENT '是否启用RAG',
|
||||
rag_ids VARCHAR(64) NULL COMMENT '绑定的RAG ID列表,逗号分隔,最多5个',
|
||||
rag_call_mode TINYINT DEFAULT 1 COMMENT 'RAG调用方式: 1=智能调用 2=强制调用',
|
||||
short_term_memory_size INT DEFAULT 20 COMMENT '短期记忆滑动窗口保留条数',
|
||||
creator_id BIGINT COMMENT '创建者用户ID',
|
||||
is_featured TINYINT(1) DEFAULT 0 COMMENT '是否精选',
|
||||
view_count INT DEFAULT 0 COMMENT '浏览次数',
|
||||
status TINYINT DEFAULT 1 COMMENT '状态: 1-活跃 2-非活跃 3-已废弃 4-已禁用',
|
||||
config TEXT COMMENT '扩展配置(预留)',
|
||||
app_id VARCHAR(128) NULL COMMENT '关联应用ID(NULL=本地执行)',
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci COMMENT = '智能体表';
|
||||
|
||||
CREATE INDEX idx_agent_creator ON sai_agent (creator_id);
|
||||
CREATE INDEX idx_agent_featured ON sai_agent (is_featured);
|
||||
|
||||
-- 3.2 智能体对话表
|
||||
-- ### 智能体对话表
|
||||
CREATE TABLE IF NOT EXISTS sai_agent_conversation
|
||||
(
|
||||
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
agent_id BIGINT NOT NULL COMMENT '智能体ID',
|
||||
user_id BIGINT NOT NULL COMMENT '用户ID',
|
||||
conversation_id VARCHAR(64) NOT NULL COMMENT '对话ID(UUID)',
|
||||
title VARCHAR(255) COMMENT '对话标题',
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
UNIQUE KEY uk_conv_id (conversation_id)
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci COMMENT = '智能体对话表';
|
||||
|
||||
CREATE INDEX idx_agent_conv_agent ON sai_agent_conversation (agent_id);
|
||||
CREATE INDEX idx_agent_conv_user ON sai_agent_conversation (user_id);
|
||||
|
||||
-- 3.3 智能体对话消息记录表
|
||||
-- ### 智能体对话消息记录表
|
||||
CREATE TABLE IF NOT EXISTS sai_agent_conversation_record
|
||||
(
|
||||
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
agent_id BIGINT NOT NULL COMMENT '智能体ID',
|
||||
conversation_id VARCHAR(64) NOT NULL COMMENT '对话ID',
|
||||
user_id BIGINT NOT NULL COMMENT '用户ID',
|
||||
role VARCHAR(16) DEFAULT 'user' COMMENT 'user/assistant',
|
||||
content TEXT COMMENT '消息内容',
|
||||
thinking TEXT COMMENT '思考过程(仅assistant)',
|
||||
metadata LONGTEXT DEFAULT NULL COMMENT '消息扩展元数据JSON',
|
||||
status INT DEFAULT 1 COMMENT '1=成功,2=失败,3=进行中',
|
||||
input_tokens INT DEFAULT 0 COMMENT '输入Token数(prompt)',
|
||||
output_tokens INT DEFAULT 0 COMMENT '输出Token数(completion)',
|
||||
cache_tokens INT DEFAULT 0 COMMENT '缓存命中Token数',
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci COMMENT = '智能体对话消息记录';
|
||||
|
||||
CREATE INDEX idx_agent_rec_conv ON sai_agent_conversation_record (conversation_id);
|
||||
|
||||
-- 3.4 智能体使用统计表
|
||||
-- ### 智能体使用统计表
|
||||
CREATE TABLE IF NOT EXISTS sai_agent_usage_stat
|
||||
(
|
||||
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
agent_id BIGINT NOT NULL COMMENT '智能体ID',
|
||||
user_id BIGINT NOT NULL COMMENT '用户ID',
|
||||
message_count INT DEFAULT 0 COMMENT '消息条数',
|
||||
conversation_count INT DEFAULT 0 COMMENT '对话轮次',
|
||||
stat_date DATE NOT NULL COMMENT '统计日期',
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
UNIQUE KEY uk_agent_user_date (agent_id, user_id, stat_date)
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci COMMENT = '智能体使用统计';
|
||||
|
||||
CREATE INDEX idx_usage_agent ON sai_agent_usage_stat (agent_id);
|
||||
CREATE INDEX idx_usage_date ON sai_agent_usage_stat (stat_date);
|
||||
|
||||
-- 3.5 用户订阅的智能体(多对多)
|
||||
-- ### 用户智能体订阅关联表
|
||||
CREATE TABLE IF NOT EXISTS sai_user_agent
|
||||
(
|
||||
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
user_id BIGINT NOT NULL COMMENT '用户ID',
|
||||
agent_id BIGINT NOT NULL COMMENT '智能体ID',
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
UNIQUE KEY uk_user_agent (user_id, agent_id)
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci COMMENT = '用户订阅的智能体';
|
||||
|
||||
CREATE INDEX idx_user_agent_user ON sai_user_agent (user_id);
|
||||
|
||||
|
||||
-- ============================================================
|
||||
-- 四、RAG 知识库
|
||||
-- ============================================================
|
||||
|
||||
-- 4.1 知识库主表
|
||||
-- ### RAG 知识库表
|
||||
CREATE TABLE sai_rag
|
||||
(
|
||||
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
description TEXT,
|
||||
icon VARCHAR(512),
|
||||
embedding_model_id BIGINT(128) NOT NULL,
|
||||
dimension_of_vector_model INT NOT NULL COMMENT '向量维度',
|
||||
rerank_model_id BIGINT(128),
|
||||
search_engine_instance_id BIGINT(128),
|
||||
vector_store_instance_id BIGINT(128),
|
||||
search_engine_enable TINYINT(1) DEFAULT 0,
|
||||
delimiter VARCHAR(32) DEFAULT '\n\n',
|
||||
rag_enhancement TEXT,
|
||||
config TEXT DEFAULT NULL COMMENT 'RAG检索和问答的页面配置参数',
|
||||
dedup_strategy TINYINT(1) NOT NULL DEFAULT 2 COMMENT '去重策略: 0=NONE 1=BY_NAME 2=BY_CONTENT 3=BY_NAME_OR_CONTENT',
|
||||
dedup_action TINYINT(1) NOT NULL DEFAULT 0 COMMENT '冲突动作: 0=REJECT 1=SKIP 2=OVERWRITE',
|
||||
upload_confirm TINYINT(1) NOT NULL DEFAULT 1 COMMENT '上传前二次确认: 0-关 1-开',
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci;
|
||||
|
||||
-- 4.2 RAG 文档表
|
||||
-- ### RAG 文档表
|
||||
CREATE TABLE sai_rag_document
|
||||
(
|
||||
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
rag_id BIGINT NOT NULL,
|
||||
name VARCHAR(255),
|
||||
file_type VARCHAR(32),
|
||||
source_type VARCHAR(32),
|
||||
source_path VARCHAR(1024),
|
||||
storage_path VARCHAR(1024),
|
||||
storage_type VARCHAR(32) DEFAULT 'LOCAL',
|
||||
file_size BIGINT DEFAULT 0,
|
||||
content TEXT,
|
||||
status TINYINT(1) DEFAULT 0 COMMENT '状态: 0-待处理 1-解析中 2-处理中 3-处理完成 4-处理失败',
|
||||
error_msg TEXT,
|
||||
chunk_count INT DEFAULT 0,
|
||||
page_count INT DEFAULT 0 COMMENT 'Docling parse page count',
|
||||
element_count INT DEFAULT 0 COMMENT 'Docling parse element count',
|
||||
table_count INT DEFAULT 0 COMMENT 'Docling parse table count',
|
||||
image_count INT DEFAULT 0 COMMENT 'Docling parse image count',
|
||||
parse_time INT DEFAULT 0 COMMENT 'Parse duration in milliseconds',
|
||||
md_content LONGTEXT DEFAULT NULL COMMENT 'Docling markdown content',
|
||||
doc_metadata LONGTEXT DEFAULT NULL COMMENT 'Docling document metadata JSON',
|
||||
content_hash VARCHAR(64) DEFAULT NULL COMMENT '文件内容SHA-256哈希,用于去重',
|
||||
resource_id BIGINT DEFAULT NULL COMMENT '关联资源库 sai_resource.id',
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci;
|
||||
|
||||
CREATE INDEX idx_rag_doc_rag ON sai_rag_document (rag_id);
|
||||
CREATE INDEX idx_rag_content_hash ON sai_rag_document (rag_id, content_hash);
|
||||
CREATE INDEX idx_rag_name ON sai_rag_document (rag_id, name);
|
||||
CREATE INDEX idx_rag_doc_resource ON sai_rag_document (resource_id);
|
||||
|
||||
-- ### RAG 文档图片表
|
||||
|
||||
CREATE TABLE sai_rag_document_image
|
||||
(
|
||||
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
rag_id BIGINT NOT NULL,
|
||||
document_id BIGINT NOT NULL,
|
||||
chunk_id BIGINT DEFAULT NULL,
|
||||
resource_id BIGINT DEFAULT NULL,
|
||||
image_index INT,
|
||||
image_url VARCHAR(1024),
|
||||
caption TEXT,
|
||||
figure_no VARCHAR(64),
|
||||
figure_title VARCHAR(512),
|
||||
section_title VARCHAR(512),
|
||||
source_page INT,
|
||||
document_name VARCHAR(255),
|
||||
ocr_text TEXT,
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci;
|
||||
|
||||
CREATE INDEX idx_rag_doc_image_rag ON sai_rag_document_image (rag_id);
|
||||
CREATE INDEX idx_rag_doc_image_document ON sai_rag_document_image (document_id);
|
||||
CREATE INDEX idx_rag_doc_image_chunk ON sai_rag_document_image (chunk_id);
|
||||
CREATE INDEX idx_rag_doc_image_resource ON sai_rag_document_image (resource_id);
|
||||
|
||||
-- 4.3 RAG 分块表
|
||||
-- ### RAG 文档分块表
|
||||
CREATE TABLE sai_rag_chunk
|
||||
(
|
||||
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
rag_id BIGINT NOT NULL,
|
||||
document_id BIGINT NOT NULL,
|
||||
paragraph_index INT,
|
||||
chunk_index INT,
|
||||
content TEXT,
|
||||
token_count INT,
|
||||
vector_id VARCHAR(128),
|
||||
content_hash VARCHAR(64) DEFAULT NULL COMMENT 'chunk内容SHA-256,用于向量去重',
|
||||
source_type VARCHAR(20) NOT NULL DEFAULT 'TEXT' COMMENT 'chunk来源类型:TEXT文本、IMAGE图片',
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci;
|
||||
|
||||
CREATE INDEX idx_rag_chunk_rag ON sai_rag_chunk (rag_id);
|
||||
CREATE INDEX idx_rag_chunk_document ON sai_rag_chunk (document_id);
|
||||
CREATE INDEX idx_chunk_rag_hash ON sai_rag_chunk (rag_id, content_hash);
|
||||
CREATE INDEX idx_chunk_rag_source_type ON sai_rag_chunk (rag_id, source_type);
|
||||
|
||||
|
||||
-- ============================================================
|
||||
-- 五、MCP 服务管理
|
||||
-- ============================================================
|
||||
|
||||
-- 5.1 MCP 服务配置表
|
||||
-- ### MCP 服务配置表
|
||||
CREATE TABLE IF NOT EXISTS sai_mcp_server
|
||||
(
|
||||
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(255) NOT NULL COMMENT 'MCP服务名称',
|
||||
description TEXT COMMENT 'MCP服务描述',
|
||||
transport_type TINYINT(1) DEFAULT 1 COMMENT '传输类型: 1-SSE 2-Streamable HTTP 3-Stdio',
|
||||
base_uri VARCHAR(1024) COMMENT '服务基础地址(SSE/Streamable HTTP时使用)',
|
||||
endpoint VARCHAR(1024) COMMENT '端点路径(SSE/Streamable HTTP时可选)',
|
||||
command VARCHAR(1024) COMMENT 'Stdio命令(Stdio时必填)',
|
||||
args TEXT COMMENT 'Stdio命令参数(JSON数组)',
|
||||
env_vars TEXT COMMENT 'Stdio环境变量(JSON对象)',
|
||||
timeout BIGINT DEFAULT 60000 COMMENT '超时时间(毫秒)',
|
||||
headers TEXT COMMENT '请求头(JSON对象)',
|
||||
last_connect_dt TIMESTAMP NULL COMMENT '最后连接时间',
|
||||
creator_id BIGINT COMMENT '创建者用户ID',
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci COMMENT = 'MCP服务配置表';
|
||||
|
||||
CREATE INDEX idx_mcp_server_creator ON sai_mcp_server (creator_id);
|
||||
|
||||
-- 5.2 智能体与MCP服务关联表(多对多)
|
||||
-- ### 智能体与 MCP 服务关联表
|
||||
CREATE TABLE IF NOT EXISTS sai_agent_mcp_server
|
||||
(
|
||||
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
agent_id BIGINT NOT NULL COMMENT '智能体ID',
|
||||
mcp_server_id BIGINT NOT NULL COMMENT 'MCP服务ID',
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
UNIQUE KEY uk_agent_mcp (agent_id, mcp_server_id)
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci COMMENT = '智能体MCP服务关联表';
|
||||
|
||||
CREATE INDEX idx_agent_mcp_agent ON sai_agent_mcp_server (agent_id);
|
||||
CREATE INDEX idx_agent_mcp_server ON sai_agent_mcp_server (mcp_server_id);
|
||||
|
||||
|
||||
-- ============================================================
|
||||
-- 六、Skill 技能包管理
|
||||
-- ============================================================
|
||||
|
||||
-- 6.1 Skill 技能包表
|
||||
-- ### Skill 技能包表
|
||||
CREATE TABLE IF NOT EXISTS sai_skill
|
||||
(
|
||||
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(255) NOT NULL COMMENT 'Skill名称(从SKILL.md解析)',
|
||||
description TEXT COMMENT 'Skill描述(从SKILL.md解析)',
|
||||
file_name VARCHAR(255) COMMENT '上传的zip文件名',
|
||||
file_path VARCHAR(1024) COMMENT '解压后存储路径',
|
||||
file_size BIGINT DEFAULT 0 COMMENT '文件大小(字节)',
|
||||
skill_content LONGTEXT COMMENT 'SKILL.md正文内容(去除frontmatter)',
|
||||
storage_path VARCHAR(500) DEFAULT NULL COMMENT '对象存储相对路径前缀(如 skills/123/)',
|
||||
version BIGINT DEFAULT 0 COMMENT '版本号,文件变更时自增,用于缓存一致性校验',
|
||||
has_files TINYINT(1) DEFAULT 0 COMMENT '是否包含支撑文件(0=仅SKILL.md,1=有scripts/references等)',
|
||||
creator_id BIGINT COMMENT '创建者用户ID',
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci COMMENT = 'Skill技能包表';
|
||||
|
||||
CREATE INDEX idx_skill_creator ON sai_skill (creator_id);
|
||||
|
||||
-- 6.2 Skill 支撑文件内容表
|
||||
-- ### Skill 支撑文件表
|
||||
CREATE TABLE IF NOT EXISTS sai_skill_file
|
||||
(
|
||||
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
skill_id BIGINT NOT NULL COMMENT 'Skill ID',
|
||||
file_path VARCHAR(255) NOT NULL COMMENT '文件相对路径',
|
||||
content LONGTEXT NOT NULL COMMENT '文件内容',
|
||||
file_size INT NOT NULL COMMENT '文件大小(字节)',
|
||||
encoding VARCHAR(50) DEFAULT 'utf-8' COMMENT '编码方式',
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
UNIQUE KEY uk_skill_path (skill_id, file_path) COMMENT '同一Skill不能有重复的文件路径',
|
||||
KEY idx_skill_id (skill_id) COMMENT '技能ID索引'
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci COMMENT = 'Skill支撑文件内容表';
|
||||
|
||||
-- 6.3 智能体与Skill关联表(多对多)
|
||||
-- ### 智能体与 Skill 关联表
|
||||
CREATE TABLE IF NOT EXISTS sai_agent_skill
|
||||
(
|
||||
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
agent_id BIGINT NOT NULL COMMENT '智能体ID',
|
||||
skill_id BIGINT NOT NULL COMMENT 'Skill ID',
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
UNIQUE KEY uk_agent_skill (agent_id, skill_id)
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci COMMENT = '智能体Skill关联表';
|
||||
|
||||
CREATE INDEX idx_agent_skill_agent ON sai_agent_skill (agent_id);
|
||||
CREATE INDEX idx_agent_skill_skill ON sai_agent_skill (skill_id);
|
||||
|
||||
|
||||
-- ============================================================
|
||||
-- 七、客户端应用与节点
|
||||
-- ============================================================
|
||||
|
||||
-- 7.1 客户端应用
|
||||
-- ### 客户端应用表
|
||||
CREATE TABLE IF NOT EXISTS sai_app
|
||||
(
|
||||
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
app_id VARCHAR(128) NOT NULL COMMENT '应用唯一标识',
|
||||
app_name VARCHAR(255) NOT NULL COMMENT '应用名称',
|
||||
description VARCHAR(512) COMMENT '应用描述',
|
||||
token VARCHAR(128) NOT NULL COMMENT '通信认证令牌',
|
||||
route_strategy VARCHAR(32) DEFAULT 'LEAST_LOAD' COMMENT '路由策略',
|
||||
status TINYINT(1) DEFAULT 1 COMMENT '1=启用, 0=停用',
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
UNIQUE KEY uk_app_id (app_id)
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci COMMENT = '客户端应用';
|
||||
|
||||
-- 7.2 AI客户端实例节点
|
||||
-- ### AI 客户端节点表
|
||||
CREATE TABLE IF NOT EXISTS sai_client_node
|
||||
(
|
||||
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
app_id VARCHAR(128) NOT NULL COMMENT '所属应用ID',
|
||||
host_id VARCHAR(128) NOT NULL COMMENT '客户端实例唯一标识',
|
||||
host_ip VARCHAR(64) NOT NULL COMMENT '客户端IP',
|
||||
grpc_port INT NOT NULL COMMENT '客户端gRPC端口',
|
||||
max_concurrent INT DEFAULT 10 COMMENT '最大并发对话数',
|
||||
active_chats INT DEFAULT 0 COMMENT '当前活跃对话数',
|
||||
supported_providers TEXT COMMENT '支持的模型提供商(JSON数组)',
|
||||
labels TEXT COMMENT '路由标签',
|
||||
expire_dt DATETIME NOT NULL COMMENT '过期时间(心跳更新)',
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
UNIQUE KEY uk_client_node (app_id, host_id),
|
||||
INDEX idx_app_expire (app_id, expire_dt)
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci COMMENT = 'AI客户端实例节点';
|
||||
|
||||
|
||||
-- ============================================================
|
||||
-- 八、存储与资源
|
||||
-- ============================================================
|
||||
|
||||
-- 8.1 存储实例
|
||||
-- ### 存储实例表
|
||||
CREATE TABLE IF NOT EXISTS sai_store_instance
|
||||
(
|
||||
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(128) NOT NULL COMMENT '实例名称',
|
||||
category TINYINT(1) NOT NULL COMMENT '分类: 1-向量库 2-搜索引擎',
|
||||
type TINYINT(1) NOT NULL COMMENT '类型: 1-PG_VECTOR 2-MILVUS 3-ELASTICSEARCH 4-PG_FULLTEXT',
|
||||
config TEXT DEFAULT NULL COMMENT '连接参数 JSON',
|
||||
status TINYINT(1) DEFAULT 1 COMMENT '状态: 0-停用 1-启用',
|
||||
is_default TINYINT(1) DEFAULT 0 COMMENT '是否为该 category 下默认实例',
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci COMMENT = '存储实例';
|
||||
|
||||
CREATE INDEX idx_store_instance_category ON sai_store_instance (category);
|
||||
CREATE INDEX idx_store_instance_type ON sai_store_instance (type);
|
||||
|
||||
-- 8.2 通用资源存储
|
||||
-- ### 通用资源存储表
|
||||
CREATE TABLE IF NOT EXISTS sai_resource
|
||||
(
|
||||
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
storage_key VARCHAR(512) NOT NULL COMMENT '存储键(相对路径或对象Key)',
|
||||
original_name VARCHAR(255) NOT NULL COMMENT '原始文件名',
|
||||
file_size BIGINT DEFAULT 0 COMMENT '文件大小(bytes)',
|
||||
mime_type VARCHAR(128) COMMENT 'MIME类型',
|
||||
storage_type VARCHAR(32) NOT NULL DEFAULT 'LOCAL' COMMENT '存储类型: LOCAL/MINIO',
|
||||
access_url VARCHAR(1024) COMMENT '访问URL',
|
||||
biz_type VARCHAR(64) NOT NULL DEFAULT 'GENERAL' COMMENT '业务类型: AVATAR/ATTACHMENT/DOCUMENT/GENERAL',
|
||||
biz_id BIGINT COMMENT '关联业务ID',
|
||||
creator_id BIGINT COMMENT '上传者ID',
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
UNIQUE KEY uk_storage_key (storage_key),
|
||||
INDEX idx_biz (biz_type, biz_id),
|
||||
INDEX idx_creator (creator_id)
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci COMMENT = '通用资源存储';
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset seewis:ai-postgresql-data-baseline dbms:postgresql splitStatements:false
|
||||
-- ============================================================
|
||||
-- 九、初始化数据
|
||||
-- ============================================================
|
||||
|
||||
-- 默认管理员:admin / admin123
|
||||
INSERT INTO sai_user VALUES (1, 2, NULL, 'admin', 'admin', '', 'pbkdf2$120000$c25haWwtYWktYWRtaW4tMQ==$kakglT/wYKOgv/77Ah1stie58d/JbY2nGgq5DwgUBw4=', NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)
|
||||
ON CONFLICT (id) DO NOTHING;
|
||||
|
||||
SELECT setval(pg_get_serial_sequence('sai_user', 'id'), COALESCE((SELECT MAX(id) FROM sai_user), 1), TRUE);
|
||||
|
||||
-- 插入常见的AI提供商
|
||||
INSERT INTO sai_model_provider (provider_name, provider_key, description, is_enabled)
|
||||
VALUES ('OpenAI', 'openai', 'OpenAI官方模型 (GPT-4, GPT-3.5等)', TRUE),
|
||||
('Claude', 'claude', 'Anthropic Claude模型', TRUE),
|
||||
('Ollama', 'ollama', '本地开源模型 (Llama, Mistral等)', TRUE),
|
||||
('Google Gemini', 'gemini', 'Google Gemini模型', TRUE),
|
||||
('阿里云百炼', 'qwen', '阿里云百炼 OpenAI 兼容模型 (Qwen等)', TRUE),
|
||||
('DeepSeek', 'deepseek', 'DeepSeek OpenAI 兼容模型', TRUE),
|
||||
('智谱AI', 'zhipu', '智谱AI OpenAI 兼容模型 (GLM等)', TRUE)
|
||||
ON CONFLICT (provider_key) DO NOTHING;
|
||||
|
||||
INSERT INTO sai_app VALUES (1, '1', 'ruoyi-ai', '', 'SAI_566a6bfbc26e4998b4841cc927d50c5d', 'LEAST_LOAD', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)
|
||||
ON CONFLICT (id) DO NOTHING;
|
||||
|
||||
SELECT setval(pg_get_serial_sequence('sai_app', 'id'), COALESCE((SELECT MAX(id) FROM sai_app), 1), TRUE);
|
||||
+847
@@ -0,0 +1,847 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset seewis:ai-postgresql-table-baseline dbms:postgresql splitStatements:false
|
||||
-- ============================================================
|
||||
-- Snail AI PostgreSQL 全量建表脚本(仅 CREATE,无 ALTER)
|
||||
-- 使用:psql -U user -d snail_ai -f postgres_ry_ai.sql
|
||||
-- 结构来源:snail_ai_schema.sql
|
||||
-- ============================================================
|
||||
|
||||
-- ============================================================
|
||||
-- 公共触发器函数:模拟 MySQL ON UPDATE CURRENT_TIMESTAMP
|
||||
-- ============================================================
|
||||
CREATE OR REPLACE FUNCTION update_timestamp()
|
||||
RETURNS TRIGGER AS $$
|
||||
BEGIN
|
||||
NEW.update_dt = CURRENT_TIMESTAMP;
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE OR REPLACE FUNCTION update_timestamp_updated()
|
||||
RETURNS TRIGGER AS $$
|
||||
BEGIN
|
||||
NEW.updated_dt = CURRENT_TIMESTAMP;
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE OR REPLACE FUNCTION update_timestamp_updated_at()
|
||||
RETURNS TRIGGER AS $$
|
||||
BEGIN
|
||||
NEW.updated_at = CURRENT_TIMESTAMP;
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
-- ============================================================
|
||||
-- 一、用户与权限
|
||||
-- ============================================================
|
||||
|
||||
-- 1.1 用户表
|
||||
-- ### 用户表
|
||||
CREATE TABLE sai_user
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
role INT,
|
||||
totals INT,
|
||||
username VARCHAR(255),
|
||||
nickname VARCHAR(128) DEFAULT NULL,
|
||||
email VARCHAR(64),
|
||||
password VARCHAR(255) NOT NULL,
|
||||
resource_id BIGINT DEFAULT NULL,
|
||||
create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT uk_username UNIQUE (username)
|
||||
);
|
||||
|
||||
COMMENT ON COLUMN sai_user.nickname IS '用户昵称';
|
||||
COMMENT ON COLUMN sai_user.resource_id IS '头像资源ID,关联 sai_resource.id';
|
||||
|
||||
CREATE TRIGGER trigger_sai_user_update
|
||||
BEFORE UPDATE ON sai_user
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_timestamp();
|
||||
|
||||
-- 1.2 OpenAPI 外部用户映射表
|
||||
-- ### OpenAPI 外部用户映射表
|
||||
CREATE TABLE sai_openapi_user
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
app_id VARCHAR(128) NOT NULL,
|
||||
open_id VARCHAR(64) NOT NULL,
|
||||
platform_user_id BIGINT NOT NULL,
|
||||
external_id VARCHAR(256) DEFAULT NULL,
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT uk_app_open UNIQUE (app_id, open_id),
|
||||
CONSTRAINT uk_app_external UNIQUE (app_id, external_id)
|
||||
);
|
||||
|
||||
COMMENT ON TABLE sai_openapi_user IS 'OpenAPI 外部用户映射表';
|
||||
COMMENT ON COLUMN sai_openapi_user.app_id IS '关联 sai_app.app_id';
|
||||
COMMENT ON COLUMN sai_openapi_user.open_id IS '平台分配的唯一标识(UUID)';
|
||||
COMMENT ON COLUMN sai_openapi_user.platform_user_id IS '关联 sai_user.id,注册时自动创建';
|
||||
COMMENT ON COLUMN sai_openapi_user.external_id IS '外部系统的用户标识(可选,幂等用)';
|
||||
|
||||
CREATE TRIGGER trigger_sai_openapi_user_update
|
||||
BEFORE UPDATE ON sai_openapi_user
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_timestamp();
|
||||
|
||||
CREATE INDEX idx_open_id ON sai_openapi_user (open_id);
|
||||
CREATE INDEX idx_platform_user ON sai_openapi_user (platform_user_id);
|
||||
|
||||
-- ============================================================
|
||||
-- 二、AI 模型管理
|
||||
-- ============================================================
|
||||
|
||||
-- 2.1 AI 模型提供商表
|
||||
-- ### AI 模型提供商表
|
||||
CREATE TABLE IF NOT EXISTS sai_model_provider
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
provider_name VARCHAR(255) NOT NULL,
|
||||
provider_key VARCHAR(50) NOT NULL,
|
||||
description TEXT,
|
||||
icon_url VARCHAR(500),
|
||||
is_enabled BOOLEAN DEFAULT TRUE,
|
||||
created_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT uk_provider_name UNIQUE (provider_name),
|
||||
CONSTRAINT uk_provider_key UNIQUE (provider_key)
|
||||
);
|
||||
|
||||
COMMENT ON TABLE sai_model_provider IS 'AI模型提供商表';
|
||||
COMMENT ON COLUMN sai_model_provider.provider_name IS '提供商名称';
|
||||
COMMENT ON COLUMN sai_model_provider.provider_key IS '提供商标识符';
|
||||
COMMENT ON COLUMN sai_model_provider.description IS '提供商描述';
|
||||
COMMENT ON COLUMN sai_model_provider.icon_url IS 'LOGO图标URL';
|
||||
COMMENT ON COLUMN sai_model_provider.is_enabled IS '是否启用';
|
||||
COMMENT ON COLUMN sai_model_provider.created_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sai_model_provider.updated_dt IS '更新时间';
|
||||
|
||||
CREATE TRIGGER trigger_sai_model_provider_update
|
||||
BEFORE UPDATE ON sai_model_provider
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_timestamp_updated();
|
||||
|
||||
CREATE INDEX idx_provider_key ON sai_model_provider (provider_key);
|
||||
CREATE INDEX idx_is_enabled ON sai_model_provider (is_enabled);
|
||||
|
||||
-- 2.2 AI模型配置表
|
||||
-- ### AI 模型配置表
|
||||
CREATE TABLE IF NOT EXISTS sai_model_config
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
provider_id BIGINT NOT NULL,
|
||||
model_name VARCHAR(255) NOT NULL,
|
||||
model_key VARCHAR(100) NOT NULL,
|
||||
model_type VARCHAR(50) NOT NULL,
|
||||
adapter_key VARCHAR(100),
|
||||
description VARCHAR(1000),
|
||||
api_key VARCHAR(1000),
|
||||
api_endpoint VARCHAR(500),
|
||||
config_json TEXT,
|
||||
owner_id BIGINT,
|
||||
scope VARCHAR(20) NOT NULL DEFAULT 'GLOBAL',
|
||||
is_default BOOLEAN DEFAULT FALSE,
|
||||
is_enabled BOOLEAN DEFAULT TRUE,
|
||||
created_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
COMMENT ON TABLE sai_model_config IS 'AI模型配置表';
|
||||
COMMENT ON COLUMN sai_model_config.provider_id IS '提供商ID';
|
||||
COMMENT ON COLUMN sai_model_config.model_name IS '模型名称';
|
||||
COMMENT ON COLUMN sai_model_config.model_key IS '模型标识符';
|
||||
COMMENT ON COLUMN sai_model_config.model_type IS '模型类型(CHAT/EMBEDDING/RERANKER/IMAGE/SPEECH)';
|
||||
COMMENT ON COLUMN sai_model_config.adapter_key IS '底层协议适配器标识(openai-compatible/http等)';
|
||||
COMMENT ON COLUMN sai_model_config.description IS '模型描述';
|
||||
COMMENT ON COLUMN sai_model_config.api_key IS 'API密钥(加密存储)';
|
||||
COMMENT ON COLUMN sai_model_config.api_endpoint IS 'API端点URL';
|
||||
COMMENT ON COLUMN sai_model_config.config_json IS '模型参数配置(JSON格式)';
|
||||
COMMENT ON COLUMN sai_model_config.owner_id IS '所有者ID(NULL=全局,具体值=用户ID)';
|
||||
COMMENT ON COLUMN sai_model_config.scope IS '作用域(GLOBAL/PERSONAL)';
|
||||
COMMENT ON COLUMN sai_model_config.is_default IS '是否为默认模型';
|
||||
COMMENT ON COLUMN sai_model_config.is_enabled IS '是否启用';
|
||||
COMMENT ON COLUMN sai_model_config.created_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sai_model_config.updated_dt IS '更新时间';
|
||||
|
||||
CREATE TRIGGER trigger_sai_model_config_update
|
||||
BEFORE UPDATE ON sai_model_config
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_timestamp_updated();
|
||||
|
||||
CREATE INDEX fk_provider_id ON sai_model_config (provider_id);
|
||||
|
||||
CREATE INDEX idx_provider_model_type ON sai_model_config (provider_id, model_type);
|
||||
CREATE INDEX idx_model_type_enabled ON sai_model_config (model_type, is_enabled);
|
||||
CREATE INDEX idx_owner_id ON sai_model_config (owner_id);
|
||||
CREATE INDEX idx_is_default ON sai_model_config (is_default);
|
||||
CREATE INDEX idx_scope ON sai_model_config (scope);
|
||||
CREATE INDEX idx_model_key ON sai_model_config (model_key);
|
||||
|
||||
-- 2.3 模型使用统计表
|
||||
-- ### 模型使用统计表
|
||||
CREATE TABLE IF NOT EXISTS sai_model_usage_stat
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
model_id BIGINT NOT NULL,
|
||||
user_id BIGINT NOT NULL,
|
||||
total_calls BIGINT DEFAULT 0,
|
||||
success_calls BIGINT DEFAULT 0,
|
||||
failed_calls BIGINT DEFAULT 0,
|
||||
total_tokens_used BIGINT DEFAULT 0,
|
||||
total_cost DECIMAL(18, 8) DEFAULT 0,
|
||||
avg_response_time BIGINT DEFAULT 0,
|
||||
last_used_dt TIMESTAMP NULL DEFAULT NULL,
|
||||
created_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT unique_model_user UNIQUE (model_id, user_id)
|
||||
);
|
||||
|
||||
COMMENT ON TABLE sai_model_usage_stat IS '模型使用统计表';
|
||||
COMMENT ON COLUMN sai_model_usage_stat.model_id IS '模型ID';
|
||||
COMMENT ON COLUMN sai_model_usage_stat.user_id IS '用户ID';
|
||||
COMMENT ON COLUMN sai_model_usage_stat.total_calls IS '总调用次数';
|
||||
COMMENT ON COLUMN sai_model_usage_stat.success_calls IS '成功调用次数';
|
||||
COMMENT ON COLUMN sai_model_usage_stat.failed_calls IS '失败调用次数';
|
||||
COMMENT ON COLUMN sai_model_usage_stat.total_tokens_used IS '总Token使用量';
|
||||
COMMENT ON COLUMN sai_model_usage_stat.total_cost IS '总费用';
|
||||
COMMENT ON COLUMN sai_model_usage_stat.avg_response_time IS '平均响应时间(毫秒)';
|
||||
COMMENT ON COLUMN sai_model_usage_stat.last_used_dt IS '最后使用时间';
|
||||
COMMENT ON COLUMN sai_model_usage_stat.created_dt IS '创建时间';
|
||||
COMMENT ON COLUMN sai_model_usage_stat.updated_dt IS '更新时间';
|
||||
|
||||
CREATE TRIGGER trigger_sai_model_usage_stat_update
|
||||
BEFORE UPDATE ON sai_model_usage_stat
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_timestamp_updated();
|
||||
|
||||
CREATE INDEX fk_stat_model_id ON sai_model_usage_stat (model_id);
|
||||
|
||||
CREATE INDEX idx_model_id ON sai_model_usage_stat (model_id);
|
||||
CREATE INDEX idx_user_id ON sai_model_usage_stat (user_id);
|
||||
CREATE INDEX idx_last_used_dt ON sai_model_usage_stat (last_used_dt);
|
||||
|
||||
-- ============================================================
|
||||
-- 三、智能体(Agent)
|
||||
-- ============================================================
|
||||
|
||||
-- 3.1 智能体主表
|
||||
-- ### 智能体主表
|
||||
CREATE TABLE IF NOT EXISTS sai_agent
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
description TEXT,
|
||||
avatar VARCHAR(512),
|
||||
instruction TEXT,
|
||||
greeting TEXT,
|
||||
preset_questions TEXT,
|
||||
chat_model_id BIGINT,
|
||||
memory_enabled BOOLEAN DEFAULT FALSE,
|
||||
mcp_enabled BOOLEAN DEFAULT FALSE,
|
||||
skill_enabled BOOLEAN DEFAULT FALSE,
|
||||
web_search_enabled BOOLEAN DEFAULT FALSE,
|
||||
rag_enabled BOOLEAN DEFAULT FALSE,
|
||||
rag_ids VARCHAR(64) NULL,
|
||||
rag_call_mode SMALLINT DEFAULT 1,
|
||||
short_term_memory_size INT DEFAULT 20,
|
||||
creator_id BIGINT,
|
||||
is_featured BOOLEAN DEFAULT FALSE,
|
||||
view_count INT DEFAULT 0,
|
||||
status SMALLINT DEFAULT 1,
|
||||
config TEXT,
|
||||
app_id VARCHAR(128) NULL,
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
COMMENT ON TABLE sai_agent IS '智能体表';
|
||||
COMMENT ON COLUMN sai_agent.name IS '智能体名称';
|
||||
COMMENT ON COLUMN sai_agent.description IS '智能体描述';
|
||||
COMMENT ON COLUMN sai_agent.avatar IS '头像URL';
|
||||
COMMENT ON COLUMN sai_agent.instruction IS '系统指令(System Prompt)';
|
||||
COMMENT ON COLUMN sai_agent.greeting IS '欢迎语';
|
||||
COMMENT ON COLUMN sai_agent.preset_questions IS '预设问题列表(JSON数组字符串)';
|
||||
COMMENT ON COLUMN sai_agent.chat_model_id IS '关联的对话模型ID';
|
||||
COMMENT ON COLUMN sai_agent.memory_enabled IS '是否启用记忆库';
|
||||
COMMENT ON COLUMN sai_agent.mcp_enabled IS '是否启用MCP';
|
||||
COMMENT ON COLUMN sai_agent.skill_enabled IS '是否启用Skill';
|
||||
COMMENT ON COLUMN sai_agent.web_search_enabled IS '是否启用联网搜索';
|
||||
COMMENT ON COLUMN sai_agent.rag_enabled IS '是否启用RAG';
|
||||
COMMENT ON COLUMN sai_agent.rag_ids IS '绑定的RAG ID列表,逗号分隔,最多5个';
|
||||
COMMENT ON COLUMN sai_agent.rag_call_mode IS 'RAG调用方式: 1=智能调用 2=强制调用';
|
||||
COMMENT ON COLUMN sai_agent.short_term_memory_size IS '短期记忆滑动窗口保留条数';
|
||||
COMMENT ON COLUMN sai_agent.creator_id IS '创建者用户ID';
|
||||
COMMENT ON COLUMN sai_agent.is_featured IS '是否精选';
|
||||
COMMENT ON COLUMN sai_agent.view_count IS '浏览次数';
|
||||
COMMENT ON COLUMN sai_agent.status IS '状态: 1-活跃 2-非活跃 3-已废弃 4-已禁用';
|
||||
COMMENT ON COLUMN sai_agent.config IS '扩展配置(预留)';
|
||||
COMMENT ON COLUMN sai_agent.app_id IS '关联应用ID(NULL=本地执行)';
|
||||
|
||||
CREATE TRIGGER trigger_sai_agent_update
|
||||
BEFORE UPDATE ON sai_agent
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_timestamp();
|
||||
|
||||
CREATE INDEX idx_agent_creator ON sai_agent (creator_id);
|
||||
CREATE INDEX idx_agent_featured ON sai_agent (is_featured);
|
||||
|
||||
-- 3.2 智能体对话表
|
||||
-- ### 智能体对话表
|
||||
CREATE TABLE IF NOT EXISTS sai_agent_conversation
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
agent_id BIGINT NOT NULL,
|
||||
user_id BIGINT NOT NULL,
|
||||
conversation_id VARCHAR(64) NOT NULL,
|
||||
title VARCHAR(255),
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT uk_conv_id UNIQUE (conversation_id)
|
||||
);
|
||||
|
||||
COMMENT ON TABLE sai_agent_conversation IS '智能体对话表';
|
||||
COMMENT ON COLUMN sai_agent_conversation.agent_id IS '智能体ID';
|
||||
COMMENT ON COLUMN sai_agent_conversation.user_id IS '用户ID';
|
||||
COMMENT ON COLUMN sai_agent_conversation.conversation_id IS '对话ID(UUID)';
|
||||
COMMENT ON COLUMN sai_agent_conversation.title IS '对话标题';
|
||||
|
||||
CREATE TRIGGER trigger_sai_agent_conversation_update
|
||||
BEFORE UPDATE ON sai_agent_conversation
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_timestamp();
|
||||
|
||||
CREATE INDEX idx_agent_conv_agent ON sai_agent_conversation (agent_id);
|
||||
CREATE INDEX idx_agent_conv_user ON sai_agent_conversation (user_id);
|
||||
|
||||
-- 3.3 智能体对话消息记录表
|
||||
-- ### 智能体对话消息记录表
|
||||
CREATE TABLE IF NOT EXISTS sai_agent_conversation_record
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
agent_id BIGINT NOT NULL,
|
||||
conversation_id VARCHAR(64) NOT NULL,
|
||||
user_id BIGINT NOT NULL,
|
||||
role VARCHAR(16) DEFAULT 'user',
|
||||
content TEXT,
|
||||
thinking TEXT,
|
||||
metadata TEXT DEFAULT NULL,
|
||||
status INT DEFAULT 1,
|
||||
input_tokens INT DEFAULT 0,
|
||||
output_tokens INT DEFAULT 0,
|
||||
cache_tokens INT DEFAULT 0,
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
COMMENT ON TABLE sai_agent_conversation_record IS '智能体对话消息记录';
|
||||
COMMENT ON COLUMN sai_agent_conversation_record.agent_id IS '智能体ID';
|
||||
COMMENT ON COLUMN sai_agent_conversation_record.conversation_id IS '对话ID';
|
||||
COMMENT ON COLUMN sai_agent_conversation_record.user_id IS '用户ID';
|
||||
COMMENT ON COLUMN sai_agent_conversation_record.role IS 'user/assistant';
|
||||
COMMENT ON COLUMN sai_agent_conversation_record.content IS '消息内容';
|
||||
COMMENT ON COLUMN sai_agent_conversation_record.thinking IS '思考过程(仅assistant)';
|
||||
COMMENT ON COLUMN sai_agent_conversation_record.metadata IS '消息扩展元数据JSON';
|
||||
COMMENT ON COLUMN sai_agent_conversation_record.status IS '1=成功,2=失败,3=进行中';
|
||||
COMMENT ON COLUMN sai_agent_conversation_record.input_tokens IS '输入Token数(prompt)';
|
||||
COMMENT ON COLUMN sai_agent_conversation_record.output_tokens IS '输出Token数(completion)';
|
||||
COMMENT ON COLUMN sai_agent_conversation_record.cache_tokens IS '缓存命中Token数';
|
||||
|
||||
CREATE INDEX idx_agent_rec_conv ON sai_agent_conversation_record (conversation_id);
|
||||
|
||||
-- 3.4 智能体使用统计表
|
||||
-- ### 智能体使用统计表
|
||||
CREATE TABLE IF NOT EXISTS sai_agent_usage_stat
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
agent_id BIGINT NOT NULL,
|
||||
user_id BIGINT NOT NULL,
|
||||
message_count INT DEFAULT 0,
|
||||
conversation_count INT DEFAULT 0,
|
||||
stat_date DATE NOT NULL,
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT uk_agent_user_date UNIQUE (agent_id, user_id, stat_date)
|
||||
);
|
||||
|
||||
COMMENT ON TABLE sai_agent_usage_stat IS '智能体使用统计';
|
||||
COMMENT ON COLUMN sai_agent_usage_stat.agent_id IS '智能体ID';
|
||||
COMMENT ON COLUMN sai_agent_usage_stat.user_id IS '用户ID';
|
||||
COMMENT ON COLUMN sai_agent_usage_stat.message_count IS '消息条数';
|
||||
COMMENT ON COLUMN sai_agent_usage_stat.conversation_count IS '对话轮次';
|
||||
COMMENT ON COLUMN sai_agent_usage_stat.stat_date IS '统计日期';
|
||||
|
||||
CREATE TRIGGER trigger_sai_agent_usage_stat_update
|
||||
BEFORE UPDATE ON sai_agent_usage_stat
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_timestamp();
|
||||
|
||||
CREATE INDEX idx_usage_agent ON sai_agent_usage_stat (agent_id);
|
||||
CREATE INDEX idx_usage_date ON sai_agent_usage_stat (stat_date);
|
||||
|
||||
-- 3.5 用户订阅的智能体(多对多)
|
||||
-- ### 用户智能体订阅关联表
|
||||
CREATE TABLE IF NOT EXISTS sai_user_agent
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
user_id BIGINT NOT NULL,
|
||||
agent_id BIGINT NOT NULL,
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT uk_user_agent UNIQUE (user_id, agent_id)
|
||||
);
|
||||
|
||||
COMMENT ON TABLE sai_user_agent IS '用户订阅的智能体';
|
||||
COMMENT ON COLUMN sai_user_agent.user_id IS '用户ID';
|
||||
COMMENT ON COLUMN sai_user_agent.agent_id IS '智能体ID';
|
||||
|
||||
CREATE INDEX idx_user_agent_user ON sai_user_agent (user_id);
|
||||
|
||||
-- ============================================================
|
||||
-- 四、RAG 知识库
|
||||
-- ============================================================
|
||||
|
||||
-- 4.1 知识库主表
|
||||
-- ### RAG 知识库表
|
||||
CREATE TABLE sai_rag
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
description TEXT,
|
||||
icon VARCHAR(512),
|
||||
embedding_model_id BIGINT NOT NULL,
|
||||
dimension_of_vector_model INT NOT NULL,
|
||||
rerank_model_id BIGINT,
|
||||
search_engine_instance_id BIGINT,
|
||||
vector_store_instance_id BIGINT,
|
||||
search_engine_enable BOOLEAN DEFAULT FALSE,
|
||||
delimiter VARCHAR(32) DEFAULT E'\n\n',
|
||||
rag_enhancement TEXT,
|
||||
config TEXT DEFAULT NULL,
|
||||
dedup_strategy SMALLINT NOT NULL DEFAULT 2,
|
||||
dedup_action SMALLINT NOT NULL DEFAULT 0,
|
||||
upload_confirm BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
COMMENT ON COLUMN sai_rag.dimension_of_vector_model IS '向量维度';
|
||||
COMMENT ON COLUMN sai_rag.config IS 'RAG检索和问答的页面配置参数';
|
||||
COMMENT ON COLUMN sai_rag.dedup_strategy IS '去重策略: 0=NONE 1=BY_NAME 2=BY_CONTENT 3=BY_NAME_OR_CONTENT';
|
||||
COMMENT ON COLUMN sai_rag.dedup_action IS '冲突动作: 0=REJECT 1=SKIP 2=OVERWRITE';
|
||||
COMMENT ON COLUMN sai_rag.upload_confirm IS '上传前二次确认: 0-关 1-开';
|
||||
|
||||
CREATE TRIGGER trigger_sai_rag_update
|
||||
BEFORE UPDATE ON sai_rag
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_timestamp();
|
||||
|
||||
-- 4.2 RAG 文档表
|
||||
-- ### RAG 文档表
|
||||
CREATE TABLE sai_rag_document
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
rag_id BIGINT NOT NULL,
|
||||
name VARCHAR(255),
|
||||
file_type VARCHAR(32),
|
||||
source_type VARCHAR(32),
|
||||
source_path VARCHAR(1024),
|
||||
storage_path VARCHAR(1024),
|
||||
storage_type VARCHAR(32) DEFAULT 'LOCAL',
|
||||
file_size BIGINT DEFAULT 0,
|
||||
content TEXT,
|
||||
status SMALLINT DEFAULT 0,
|
||||
error_msg TEXT,
|
||||
chunk_count INT DEFAULT 0,
|
||||
page_count INT DEFAULT 0,
|
||||
element_count INT DEFAULT 0,
|
||||
table_count INT DEFAULT 0,
|
||||
image_count INT DEFAULT 0,
|
||||
parse_time INT DEFAULT 0,
|
||||
md_content TEXT DEFAULT NULL,
|
||||
doc_metadata TEXT DEFAULT NULL,
|
||||
content_hash VARCHAR(64) DEFAULT NULL,
|
||||
resource_id BIGINT DEFAULT NULL,
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
COMMENT ON COLUMN sai_rag_document.status IS '状态: 0-待处理 1-解析中 2-处理中 3-处理完成 4-处理失败';
|
||||
COMMENT ON COLUMN sai_rag_document.content_hash IS '文件内容SHA-256哈希,用于去重';
|
||||
COMMENT ON COLUMN sai_rag_document.resource_id IS '关联资源库 sai_resource.id';
|
||||
|
||||
CREATE TRIGGER trigger_sai_rag_document_update
|
||||
BEFORE UPDATE ON sai_rag_document
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_timestamp();
|
||||
|
||||
CREATE INDEX idx_rag_doc_rag ON sai_rag_document (rag_id);
|
||||
CREATE INDEX idx_rag_content_hash ON sai_rag_document (rag_id, content_hash);
|
||||
CREATE INDEX idx_rag_name ON sai_rag_document (rag_id, name);
|
||||
CREATE INDEX idx_rag_doc_resource ON sai_rag_document (resource_id);
|
||||
|
||||
-- ### RAG 文档图片表
|
||||
|
||||
CREATE TABLE sai_rag_document_image
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
rag_id BIGINT NOT NULL,
|
||||
document_id BIGINT NOT NULL,
|
||||
chunk_id BIGINT DEFAULT NULL,
|
||||
resource_id BIGINT DEFAULT NULL,
|
||||
image_index INT,
|
||||
image_url VARCHAR(1024),
|
||||
caption TEXT,
|
||||
figure_no VARCHAR(64),
|
||||
figure_title VARCHAR(512),
|
||||
section_title VARCHAR(512),
|
||||
source_page INT,
|
||||
document_name VARCHAR(255),
|
||||
ocr_text TEXT,
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
COMMENT ON TABLE sai_rag_document_image IS 'RAG document parsed image table';
|
||||
COMMENT ON COLUMN sai_rag_document_image.resource_id IS 'Linked resource id in sai_resource';
|
||||
|
||||
CREATE TRIGGER trigger_sai_rag_document_image_update
|
||||
BEFORE UPDATE ON sai_rag_document_image
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_timestamp();
|
||||
|
||||
CREATE INDEX idx_rag_doc_image_rag ON sai_rag_document_image (rag_id);
|
||||
CREATE INDEX idx_rag_doc_image_document ON sai_rag_document_image (document_id);
|
||||
CREATE INDEX idx_rag_doc_image_chunk ON sai_rag_document_image (chunk_id);
|
||||
CREATE INDEX idx_rag_doc_image_resource ON sai_rag_document_image (resource_id);
|
||||
|
||||
-- 4.3 RAG 分块表
|
||||
-- ### RAG 文档分块表
|
||||
CREATE TABLE sai_rag_chunk
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
rag_id BIGINT NOT NULL,
|
||||
document_id BIGINT NOT NULL,
|
||||
paragraph_index INT,
|
||||
chunk_index INT,
|
||||
content TEXT,
|
||||
token_count INT,
|
||||
vector_id VARCHAR(128),
|
||||
content_hash VARCHAR(64) DEFAULT NULL,
|
||||
source_type VARCHAR(20) NOT NULL DEFAULT 'TEXT',
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
COMMENT ON COLUMN sai_rag_chunk.content_hash IS 'chunk内容SHA-256,用于向量去重';
|
||||
COMMENT ON COLUMN sai_rag_chunk.source_type IS 'chunk来源类型:TEXT文本、IMAGE图片';
|
||||
|
||||
CREATE TRIGGER trigger_sai_rag_chunk_update
|
||||
BEFORE UPDATE ON sai_rag_chunk
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_timestamp();
|
||||
|
||||
CREATE INDEX idx_rag_chunk_rag ON sai_rag_chunk (rag_id);
|
||||
CREATE INDEX idx_rag_chunk_document ON sai_rag_chunk (document_id);
|
||||
CREATE INDEX idx_chunk_rag_hash ON sai_rag_chunk (rag_id, content_hash);
|
||||
CREATE INDEX idx_chunk_rag_source_type ON sai_rag_chunk (rag_id, source_type);
|
||||
|
||||
-- ============================================================
|
||||
-- 五、MCP 服务管理
|
||||
-- ============================================================
|
||||
|
||||
-- 5.1 MCP 服务配置表
|
||||
-- ### MCP 服务配置表
|
||||
CREATE TABLE IF NOT EXISTS sai_mcp_server
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
description TEXT,
|
||||
transport_type SMALLINT DEFAULT 1,
|
||||
base_uri VARCHAR(1024),
|
||||
endpoint VARCHAR(1024),
|
||||
command VARCHAR(1024),
|
||||
args TEXT,
|
||||
env_vars TEXT,
|
||||
timeout BIGINT DEFAULT 60000,
|
||||
headers TEXT,
|
||||
last_connect_dt TIMESTAMP NULL,
|
||||
creator_id BIGINT,
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
COMMENT ON TABLE sai_mcp_server IS 'MCP服务配置表';
|
||||
COMMENT ON COLUMN sai_mcp_server.name IS 'MCP服务名称';
|
||||
COMMENT ON COLUMN sai_mcp_server.description IS 'MCP服务描述';
|
||||
COMMENT ON COLUMN sai_mcp_server.transport_type IS '传输类型: 1-SSE 2-Streamable HTTP 3-Stdio';
|
||||
COMMENT ON COLUMN sai_mcp_server.base_uri IS '服务基础地址(SSE/Streamable HTTP时使用)';
|
||||
COMMENT ON COLUMN sai_mcp_server.endpoint IS '端点路径(SSE/Streamable HTTP时可选)';
|
||||
COMMENT ON COLUMN sai_mcp_server.command IS 'Stdio命令(Stdio时必填)';
|
||||
COMMENT ON COLUMN sai_mcp_server.args IS 'Stdio命令参数(JSON数组)';
|
||||
COMMENT ON COLUMN sai_mcp_server.env_vars IS 'Stdio环境变量(JSON对象)';
|
||||
COMMENT ON COLUMN sai_mcp_server.timeout IS '超时时间(毫秒)';
|
||||
COMMENT ON COLUMN sai_mcp_server.headers IS '请求头(JSON对象)';
|
||||
COMMENT ON COLUMN sai_mcp_server.last_connect_dt IS '最后连接时间';
|
||||
COMMENT ON COLUMN sai_mcp_server.creator_id IS '创建者用户ID';
|
||||
|
||||
CREATE TRIGGER trigger_sai_mcp_server_update
|
||||
BEFORE UPDATE ON sai_mcp_server
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_timestamp();
|
||||
|
||||
CREATE INDEX idx_mcp_server_creator ON sai_mcp_server (creator_id);
|
||||
|
||||
-- 5.2 智能体与MCP服务关联表(多对多)
|
||||
-- ### 智能体与 MCP 服务关联表
|
||||
CREATE TABLE IF NOT EXISTS sai_agent_mcp_server
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
agent_id BIGINT NOT NULL,
|
||||
mcp_server_id BIGINT NOT NULL,
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT uk_agent_mcp UNIQUE (agent_id, mcp_server_id)
|
||||
);
|
||||
|
||||
COMMENT ON TABLE sai_agent_mcp_server IS '智能体MCP服务关联表';
|
||||
COMMENT ON COLUMN sai_agent_mcp_server.agent_id IS '智能体ID';
|
||||
COMMENT ON COLUMN sai_agent_mcp_server.mcp_server_id IS 'MCP服务ID';
|
||||
|
||||
CREATE INDEX idx_agent_mcp_agent ON sai_agent_mcp_server (agent_id);
|
||||
CREATE INDEX idx_agent_mcp_server ON sai_agent_mcp_server (mcp_server_id);
|
||||
|
||||
-- ============================================================
|
||||
-- 六、Skill 技能包管理
|
||||
-- ============================================================
|
||||
|
||||
-- 6.1 Skill 技能包表
|
||||
-- ### Skill 技能包表
|
||||
CREATE TABLE IF NOT EXISTS sai_skill
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
description TEXT,
|
||||
file_name VARCHAR(255),
|
||||
file_path VARCHAR(1024),
|
||||
file_size BIGINT DEFAULT 0,
|
||||
skill_content TEXT,
|
||||
storage_path VARCHAR(500) DEFAULT NULL,
|
||||
version BIGINT DEFAULT 0,
|
||||
has_files BOOLEAN DEFAULT FALSE,
|
||||
creator_id BIGINT,
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
COMMENT ON TABLE sai_skill IS 'Skill技能包表';
|
||||
COMMENT ON COLUMN sai_skill.name IS 'Skill名称(从SKILL.md解析)';
|
||||
COMMENT ON COLUMN sai_skill.description IS 'Skill描述(从SKILL.md解析)';
|
||||
COMMENT ON COLUMN sai_skill.file_name IS '上传的zip文件名';
|
||||
COMMENT ON COLUMN sai_skill.file_path IS '解压后存储路径';
|
||||
COMMENT ON COLUMN sai_skill.file_size IS '文件大小(字节)';
|
||||
COMMENT ON COLUMN sai_skill.skill_content IS 'SKILL.md正文内容(去除frontmatter)';
|
||||
COMMENT ON COLUMN sai_skill.storage_path IS '对象存储相对路径前缀(如 skills/123/)';
|
||||
COMMENT ON COLUMN sai_skill.version IS '版本号,文件变更时自增,用于缓存一致性校验';
|
||||
COMMENT ON COLUMN sai_skill.has_files IS '是否包含支撑文件(0=仅SKILL.md,1=有scripts/references等)';
|
||||
COMMENT ON COLUMN sai_skill.creator_id IS '创建者用户ID';
|
||||
|
||||
CREATE TRIGGER trigger_sai_skill_update
|
||||
BEFORE UPDATE ON sai_skill
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_timestamp();
|
||||
|
||||
CREATE INDEX idx_skill_creator ON sai_skill (creator_id);
|
||||
|
||||
-- 6.2 Skill 支撑文件内容表
|
||||
-- ### Skill 支撑文件表
|
||||
CREATE TABLE IF NOT EXISTS sai_skill_file
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
skill_id BIGINT NOT NULL,
|
||||
file_path VARCHAR(255) NOT NULL,
|
||||
content TEXT NOT NULL,
|
||||
file_size INT NOT NULL,
|
||||
encoding VARCHAR(50) DEFAULT 'utf-8',
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT uk_skill_path UNIQUE (skill_id, file_path)
|
||||
);
|
||||
|
||||
COMMENT ON TABLE sai_skill_file IS 'Skill支撑文件内容表';
|
||||
COMMENT ON COLUMN sai_skill_file.skill_id IS 'Skill ID';
|
||||
COMMENT ON COLUMN sai_skill_file.file_path IS '文件相对路径';
|
||||
COMMENT ON COLUMN sai_skill_file.content IS '文件内容';
|
||||
COMMENT ON COLUMN sai_skill_file.file_size IS '文件大小(字节)';
|
||||
COMMENT ON COLUMN sai_skill_file.encoding IS '编码方式';
|
||||
COMMENT ON COLUMN sai_skill_file.created_at IS '创建时间';
|
||||
COMMENT ON COLUMN sai_skill_file.updated_at IS '更新时间';
|
||||
|
||||
CREATE TRIGGER trigger_sai_skill_file_update
|
||||
BEFORE UPDATE ON sai_skill_file
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_timestamp_updated_at();
|
||||
|
||||
CREATE INDEX idx_skill_id ON sai_skill_file (skill_id);
|
||||
|
||||
-- 6.3 智能体与Skill关联表(多对多)
|
||||
-- ### 智能体与 Skill 关联表
|
||||
CREATE TABLE IF NOT EXISTS sai_agent_skill
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
agent_id BIGINT NOT NULL,
|
||||
skill_id BIGINT NOT NULL,
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT uk_agent_skill UNIQUE (agent_id, skill_id)
|
||||
);
|
||||
|
||||
COMMENT ON TABLE sai_agent_skill IS '智能体Skill关联表';
|
||||
COMMENT ON COLUMN sai_agent_skill.agent_id IS '智能体ID';
|
||||
COMMENT ON COLUMN sai_agent_skill.skill_id IS 'Skill ID';
|
||||
|
||||
CREATE INDEX idx_agent_skill_agent ON sai_agent_skill (agent_id);
|
||||
CREATE INDEX idx_agent_skill_skill ON sai_agent_skill (skill_id);
|
||||
|
||||
-- ============================================================
|
||||
-- 七、客户端应用与节点
|
||||
-- ============================================================
|
||||
|
||||
-- 7.1 客户端应用
|
||||
-- ### 客户端应用表
|
||||
CREATE TABLE IF NOT EXISTS sai_app
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
app_id VARCHAR(128) NOT NULL,
|
||||
app_name VARCHAR(255) NOT NULL,
|
||||
description VARCHAR(512),
|
||||
token VARCHAR(128) NOT NULL,
|
||||
route_strategy VARCHAR(32) DEFAULT 'LEAST_LOAD',
|
||||
status SMALLINT DEFAULT 1,
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT uk_app_id UNIQUE (app_id)
|
||||
);
|
||||
|
||||
COMMENT ON TABLE sai_app IS '客户端应用';
|
||||
COMMENT ON COLUMN sai_app.app_id IS '应用唯一标识';
|
||||
COMMENT ON COLUMN sai_app.app_name IS '应用名称';
|
||||
COMMENT ON COLUMN sai_app.description IS '应用描述';
|
||||
COMMENT ON COLUMN sai_app.token IS '通信认证令牌';
|
||||
COMMENT ON COLUMN sai_app.route_strategy IS '路由策略';
|
||||
COMMENT ON COLUMN sai_app.status IS '1=启用, 0=停用';
|
||||
|
||||
CREATE TRIGGER trigger_sai_app_update
|
||||
BEFORE UPDATE ON sai_app
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_timestamp();
|
||||
|
||||
-- 7.2 AI客户端实例节点
|
||||
-- ### AI 客户端节点表
|
||||
CREATE TABLE IF NOT EXISTS sai_client_node
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
app_id VARCHAR(128) NOT NULL,
|
||||
host_id VARCHAR(128) NOT NULL,
|
||||
host_ip VARCHAR(64) NOT NULL,
|
||||
grpc_port INT NOT NULL,
|
||||
max_concurrent INT DEFAULT 10,
|
||||
active_chats INT DEFAULT 0,
|
||||
supported_providers TEXT,
|
||||
labels TEXT,
|
||||
expire_dt TIMESTAMP NOT NULL,
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT uk_client_node UNIQUE (app_id, host_id)
|
||||
);
|
||||
|
||||
COMMENT ON TABLE sai_client_node IS 'AI客户端实例节点';
|
||||
COMMENT ON COLUMN sai_client_node.app_id IS '所属应用ID';
|
||||
COMMENT ON COLUMN sai_client_node.host_id IS '客户端实例唯一标识';
|
||||
COMMENT ON COLUMN sai_client_node.host_ip IS '客户端IP';
|
||||
COMMENT ON COLUMN sai_client_node.grpc_port IS '客户端gRPC端口';
|
||||
COMMENT ON COLUMN sai_client_node.max_concurrent IS '最大并发对话数';
|
||||
COMMENT ON COLUMN sai_client_node.active_chats IS '当前活跃对话数';
|
||||
COMMENT ON COLUMN sai_client_node.supported_providers IS '支持的模型提供商(JSON数组)';
|
||||
COMMENT ON COLUMN sai_client_node.labels IS '路由标签';
|
||||
COMMENT ON COLUMN sai_client_node.expire_dt IS '过期时间(心跳更新)';
|
||||
|
||||
CREATE TRIGGER trigger_sai_client_node_update
|
||||
BEFORE UPDATE ON sai_client_node
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_timestamp();
|
||||
|
||||
CREATE INDEX idx_app_expire ON sai_client_node (app_id, expire_dt);
|
||||
|
||||
-- ============================================================
|
||||
-- 八、存储与资源
|
||||
-- ============================================================
|
||||
|
||||
-- 8.1 存储实例
|
||||
-- ### 存储实例表
|
||||
CREATE TABLE IF NOT EXISTS sai_store_instance
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
name VARCHAR(128) NOT NULL,
|
||||
category SMALLINT NOT NULL,
|
||||
type SMALLINT NOT NULL,
|
||||
config TEXT DEFAULT NULL,
|
||||
status SMALLINT DEFAULT 1,
|
||||
is_default BOOLEAN DEFAULT FALSE,
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
COMMENT ON TABLE sai_store_instance IS '存储实例';
|
||||
COMMENT ON COLUMN sai_store_instance.name IS '实例名称';
|
||||
COMMENT ON COLUMN sai_store_instance.category IS '分类: 1-向量库 2-搜索引擎';
|
||||
COMMENT ON COLUMN sai_store_instance.type IS '类型: 1-PG_VECTOR 2-MILVUS 3-ELASTICSEARCH 4-PG_FULLTEXT';
|
||||
COMMENT ON COLUMN sai_store_instance.config IS '连接参数 JSON';
|
||||
COMMENT ON COLUMN sai_store_instance.status IS '状态: 0-停用 1-启用';
|
||||
COMMENT ON COLUMN sai_store_instance.is_default IS '是否为该 category 下默认实例';
|
||||
|
||||
CREATE TRIGGER trigger_sai_store_instance_update
|
||||
BEFORE UPDATE ON sai_store_instance
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_timestamp();
|
||||
|
||||
CREATE INDEX idx_store_instance_category ON sai_store_instance (category);
|
||||
CREATE INDEX idx_store_instance_type ON sai_store_instance (type);
|
||||
|
||||
-- 8.2 通用资源存储
|
||||
-- ### 通用资源存储表
|
||||
CREATE TABLE IF NOT EXISTS sai_resource
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
storage_key VARCHAR(512) NOT NULL,
|
||||
original_name VARCHAR(255) NOT NULL,
|
||||
file_size BIGINT DEFAULT 0,
|
||||
mime_type VARCHAR(128),
|
||||
storage_type VARCHAR(32) NOT NULL DEFAULT 'LOCAL',
|
||||
access_url VARCHAR(1024),
|
||||
biz_type VARCHAR(64) NOT NULL DEFAULT 'GENERAL',
|
||||
biz_id BIGINT,
|
||||
creator_id BIGINT,
|
||||
create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT uk_storage_key UNIQUE (storage_key)
|
||||
);
|
||||
|
||||
COMMENT ON TABLE sai_resource IS '通用资源存储';
|
||||
COMMENT ON COLUMN sai_resource.storage_key IS '存储键(相对路径或对象Key)';
|
||||
COMMENT ON COLUMN sai_resource.original_name IS '原始文件名';
|
||||
COMMENT ON COLUMN sai_resource.file_size IS '文件大小(bytes)';
|
||||
COMMENT ON COLUMN sai_resource.mime_type IS 'MIME类型';
|
||||
COMMENT ON COLUMN sai_resource.storage_type IS '存储类型: LOCAL/MINIO';
|
||||
COMMENT ON COLUMN sai_resource.access_url IS '访问URL';
|
||||
COMMENT ON COLUMN sai_resource.biz_type IS '业务类型: AVATAR/ATTACHMENT/DOCUMENT/GENERAL';
|
||||
COMMENT ON COLUMN sai_resource.biz_id IS '关联业务ID';
|
||||
COMMENT ON COLUMN sai_resource.creator_id IS '上传者ID';
|
||||
|
||||
CREATE TRIGGER trigger_sai_resource_update
|
||||
BEFORE UPDATE ON sai_resource
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_timestamp();
|
||||
|
||||
CREATE INDEX idx_biz ON sai_resource (biz_type, biz_id);
|
||||
CREATE INDEX idx_creator ON sai_resource (creator_id);
|
||||
@@ -1,6 +1,8 @@
|
||||
datasource:
|
||||
system-master:
|
||||
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
|
||||
# PostgreSQL 环境请在环境配置中覆盖 driver-class-name 和 url
|
||||
# driver-class-name: org.postgresql.Driver
|
||||
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能
|
||||
url: jdbc:mysql://localhost:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
|
||||
username: root
|
||||
|
||||
@@ -8,10 +8,14 @@ spring:
|
||||
# 主库数据源 (主数据源内包含代码生成数据表 增加其他数据库不要修改主数据源 否则数据无法存储)
|
||||
master:
|
||||
type: ${spring.datasource.type}
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
driver-class-name: ${datasource.system-master.driver-class-name:com.mysql.cj.jdbc.Driver}
|
||||
url: ${datasource.system-master.url}
|
||||
username: ${datasource.system-master.username}
|
||||
password: ${datasource.system-master.password}
|
||||
liquibase:
|
||||
# Existing environments must be baselined with changelogSync before enabling migrations.
|
||||
enabled: false
|
||||
change-log: classpath:db/changelog/db.changelog-master.yaml
|
||||
# oracle:
|
||||
# type: ${spring.datasource.type}
|
||||
# driverClassName: oracle.jdbc.OracleDriver
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
spring:
|
||||
liquibase:
|
||||
# Existing environments must be baselined with changelogSync before enabling migrations.
|
||||
enabled: false
|
||||
change-log: classpath:db/changelog/db.changelog-master.yaml
|
||||
datasource:
|
||||
dynamic:
|
||||
# 设置默认的数据源或者数据源组,默认值即为 master
|
||||
@@ -8,7 +12,7 @@ spring:
|
||||
# 主库数据源
|
||||
master:
|
||||
type: ${spring.datasource.type}
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
driver-class-name: ${datasource.job.driver-class-name:com.mysql.cj.jdbc.Driver}
|
||||
url: ${datasource.job.url}
|
||||
username: ${datasource.job.username}
|
||||
password: ${datasource.job.password}
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
spring:
|
||||
liquibase:
|
||||
# Existing environments must be baselined with changelogSync before enabling migrations.
|
||||
enabled: false
|
||||
change-log: classpath:db/changelog/db.changelog-master.yaml
|
||||
datasource:
|
||||
dynamic:
|
||||
# 设置默认的数据源或者数据源组,默认值即为 master
|
||||
@@ -7,7 +11,7 @@ spring:
|
||||
# 主库数据源
|
||||
master:
|
||||
type: ${spring.datasource.type}
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
driver-class-name: ${datasource.system-master.driver-class-name:com.mysql.cj.jdbc.Driver}
|
||||
url: ${datasource.system-master.url}
|
||||
username: ${datasource.system-master.username}
|
||||
password: ${datasource.system-master.password}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
spring:
|
||||
datasource:
|
||||
type: com.zaxxer.hikari.HikariDataSource
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
driver-class-name: ${datasource.ai.driver-class-name:com.mysql.cj.jdbc.Driver}
|
||||
url: ${datasource.ai.url}
|
||||
username: ${datasource.ai.username}
|
||||
password: ${datasource.ai.password}
|
||||
@@ -13,6 +13,10 @@ spring:
|
||||
idle-timeout: 600000
|
||||
max-lifetime: 900000
|
||||
keepaliveTime: 30000
|
||||
liquibase:
|
||||
# Existing environments must be baselined with changelogSync before enabling migrations.
|
||||
enabled: false
|
||||
change-log: classpath:db/changelog/db.changelog-master.yaml
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
spring:
|
||||
liquibase:
|
||||
# Existing environments must be baselined with changelogSync before enabling migrations.
|
||||
enabled: false
|
||||
change-log: classpath:db/changelog/db.changelog-master.yaml
|
||||
datasource:
|
||||
dynamic:
|
||||
# 设置默认的数据源或者数据源组,默认值即为 master
|
||||
@@ -7,7 +11,7 @@ spring:
|
||||
# 主库数据源
|
||||
master:
|
||||
type: ${spring.datasource.type}
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
driver-class-name: ${datasource.system-master.driver-class-name:com.mysql.cj.jdbc.Driver}
|
||||
url: ${datasource.system-master.url}
|
||||
username: ${datasource.system-master.username}
|
||||
password: ${datasource.system-master.password}
|
||||
|
||||
@@ -7,10 +7,14 @@ spring:
|
||||
# 主库数据源
|
||||
master:
|
||||
type: ${spring.datasource.type}
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
driver-class-name: ${datasource.workflow.driver-class-name:com.mysql.cj.jdbc.Driver}
|
||||
url: ${datasource.workflow.url}
|
||||
username: ${datasource.workflow.username}
|
||||
password: ${datasource.workflow.password}
|
||||
liquibase:
|
||||
# Existing environments must be baselined with changelogSync before enabling migrations.
|
||||
enabled: false
|
||||
change-log: classpath:db/changelog/db.changelog-master.yaml
|
||||
# oracle:
|
||||
# type: ${spring.datasource.type}
|
||||
# driverClassName: oracle.jdbc.OracleDriver
|
||||
|
||||
Reference in New Issue
Block a user