diff --git a/sql/upgrade/1.0.2_schema/mysql/escheduler_ddl.sql b/sql/upgrade/1.0.2_schema/mysql/escheduler_ddl.sql index b89a10480e..2e3394fd41 100644 --- a/sql/upgrade/1.0.2_schema/mysql/escheduler_ddl.sql +++ b/sql/upgrade/1.0.2_schema/mysql/escheduler_ddl.sql @@ -18,4 +18,166 @@ d// delimiter ; CALL ac_escheduler_T_t_escheduler_version; -DROP PROCEDURE ac_escheduler_T_t_escheduler_version; \ No newline at end of file +DROP PROCEDURE ac_escheduler_T_t_escheduler_version; + +-- ac_escheduler_T_t_escheduler_user_C_queue +drop PROCEDURE if EXISTS ac_escheduler_T_t_escheduler_user_C_queue; +delimiter d// +CREATE PROCEDURE ac_escheduler_T_t_escheduler_user_C_queue() + BEGIN + IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS + WHERE TABLE_NAME='t_escheduler_user' + AND TABLE_SCHEMA=(SELECT DATABASE()) + AND COLUMN_NAME='queue') + THEN + ALTER TABLE t_escheduler_user ADD COLUMN queue varchar(64) COMMENT '队列' AFTER update_time; + END IF; + END; + +d// + +delimiter ; +CALL ac_escheduler_T_t_escheduler_user_C_queue; +DROP PROCEDURE ac_escheduler_T_t_escheduler_user_C_queue; + +-- ac_escheduler_T_t_escheduler_access_token +drop PROCEDURE if EXISTS ac_escheduler_T_t_escheduler_access_token; +delimiter d// +CREATE PROCEDURE ac_escheduler_T_t_escheduler_access_token() + BEGIN + drop table if exists t_escheduler_access_token; + CREATE TABLE IF NOT EXISTS `t_escheduler_access_token` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', + `user_id` int(11) DEFAULT NULL COMMENT '用户id', + `token` varchar(64) DEFAULT NULL COMMENT 'token令牌', + `expire_time` datetime DEFAULT NULL COMMENT 'token有效结束时间', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) + ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + + END; + +d// + +delimiter ; +CALL ac_escheduler_T_t_escheduler_access_token; +DROP PROCEDURE ac_escheduler_T_t_escheduler_access_token; + +-- ac_escheduler_T_t_escheduler_error_command +drop PROCEDURE if EXISTS ac_escheduler_T_t_escheduler_error_command; +delimiter d// +CREATE PROCEDURE ac_escheduler_T_t_escheduler_error_command() + BEGIN + drop table if exists t_escheduler_error_command; + CREATE TABLE IF NOT EXISTS `t_escheduler_error_command` ( + `id` int(11) NOT NULL COMMENT '主键', + `command_type` tinyint(4) NULL DEFAULT NULL COMMENT '命令类型:0 启动工作流,1 从当前节点开始执行,2 恢复被容错的工作流,3 恢复暂停流程,4 从失败节点开始执行,5 补数,6 调度,7 重跑,8 暂停,9 停止,10 恢复等待线程', + `executor_id` int(11) NULL DEFAULT NULL COMMENT '命令执行者', + `process_definition_id` int(11) NULL DEFAULT NULL COMMENT '流程定义id', + `command_param` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '命令的参数(json格式)', + `task_depend_type` tinyint(4) NULL DEFAULT NULL COMMENT '节点依赖类型', + `failure_strategy` tinyint(4) NULL DEFAULT 0 COMMENT '失败策略:0结束,1继续', + `warning_type` tinyint(4) NULL DEFAULT 0 COMMENT '告警类型', + `warning_group_id` int(11) NULL DEFAULT NULL COMMENT '告警组', + `schedule_time` datetime(0) NULL DEFAULT NULL COMMENT '预期运行时间', + `start_time` datetime(0) NULL DEFAULT NULL COMMENT '开始时间', + `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', + `dependence` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '依赖字段', + `process_instance_priority` int(11) NULL DEFAULT NULL COMMENT '流程实例优先级:0 Highest,1 High,2 Medium,3 Low,4 Lowest', + `worker_group_id` int(11) NULL DEFAULT -1 COMMENT '任务指定运行的worker分组', + `message` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '执行信息', + PRIMARY KEY (`id`) USING BTREE + ) ENGINE = InnoDB AUTO_INCREMENT=1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; + + END; + +d// + +delimiter ; +CALL ac_escheduler_T_t_escheduler_error_command; +DROP PROCEDURE ac_escheduler_T_t_escheduler_error_command; + +-- ac_escheduler_T_t_escheduler_worker_group +drop PROCEDURE if EXISTS ac_escheduler_T_t_escheduler_worker_group; +delimiter d// +CREATE PROCEDURE ac_escheduler_T_t_escheduler_worker_group() + BEGIN + drop table if exists t_escheduler_worker_group; + CREATE TABLE IF NOT EXISTS `t_escheduler_worker_group` ( + `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT 'id', + `name` varchar(256) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '组名称', + `ip_list` varchar(256) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT 'worker地址列表', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE + ) ENGINE = InnoDB AUTO_INCREMENT=1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; + + END; + +d// + +delimiter ; +CALL ac_escheduler_T_t_escheduler_worker_group; +DROP PROCEDURE ac_escheduler_T_t_escheduler_worker_group; + +-- ac_escheduler_T_t_escheduler_task_instance_C_worker_group_id +drop PROCEDURE if EXISTS ac_escheduler_T_t_escheduler_task_instance_C_worker_group_id; +delimiter d// +CREATE PROCEDURE ac_escheduler_T_t_escheduler_task_instance_C_worker_group_id() + BEGIN + IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS + WHERE TABLE_NAME='t_escheduler_task_instance' + AND TABLE_SCHEMA=(SELECT DATABASE()) + AND COLUMN_NAME='worker_group_id') + THEN + ALTER TABLE t_escheduler_task_instance ADD COLUMN `worker_group_id` int(11) NULL DEFAULT -1 COMMENT '任务指定运行的worker分组' AFTER `task_instance_priority`; + END IF; + END; + +d// + +delimiter ; +CALL ac_escheduler_T_t_escheduler_task_instance_C_worker_group_id; +DROP PROCEDURE ac_escheduler_T_t_escheduler_task_instance_C_worker_group_id; + + +-- ac_escheduler_T_t_escheduler_command_C_worker_group_id +drop PROCEDURE if EXISTS ac_escheduler_T_t_escheduler_command_C_worker_group_id; +delimiter d// +CREATE PROCEDURE ac_escheduler_T_t_escheduler_command_C_worker_group_id() + BEGIN + IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS + WHERE TABLE_NAME='t_escheduler_command' + AND TABLE_SCHEMA=(SELECT DATABASE()) + AND COLUMN_NAME='worker_group_id') + THEN + ALTER TABLE t_escheduler_command ADD COLUMN `worker_group_id` int(11) NULL DEFAULT -1 COMMENT '任务指定运行的worker分组' AFTER `process_instance_priority`; + END IF; + END; + +d// + +delimiter ; +CALL ac_escheduler_T_t_escheduler_command_C_worker_group_id; +DROP PROCEDURE ac_escheduler_T_t_escheduler_command_C_worker_group_id; + +-- ac_escheduler_T_t_escheduler_schedules_C_worker_group_id +drop PROCEDURE if EXISTS ac_escheduler_T_t_escheduler_schedules_C_worker_group_id; +delimiter d// +CREATE PROCEDURE ac_escheduler_T_t_escheduler_schedules_C_worker_group_id() + BEGIN + IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS + WHERE TABLE_NAME='t_escheduler_schedules' + AND TABLE_SCHEMA=(SELECT DATABASE()) + AND COLUMN_NAME='worker_group_id') + THEN + ALTER TABLE t_escheduler_schedules ADD COLUMN `worker_group_id` int(11) NULL DEFAULT -1 COMMENT '任务指定运行的worker分组' AFTER `process_instance_priority`; + END IF; + END; + +d// + +delimiter ; +CALL ac_escheduler_T_t_escheduler_schedules_C_worker_group_id; +DROP PROCEDURE ac_escheduler_T_t_escheduler_schedules_C_worker_group_id; \ No newline at end of file