You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

265 lines
14 KiB

2 years ago
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for app_info
-- ----------------------------
DROP TABLE IF EXISTS `app_info`;
CREATE TABLE `app_info`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '应用ID',
`app_name` varchar(128) not NULL COMMENT '应用名称',
`current_server` varchar(255) default null COMMENT 'Server地址,用于负责调度应用的ActorSystem地址',
`gmt_create` datetime not null COMMENT '创建时间',
`gmt_modified` datetime not null COMMENT '更新时间',
`password` varchar(255) not null COMMENT '应用密码',
PRIMARY KEY (`id`),
UNIQUE KEY `uidx01_app_info` (`app_name`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='应用表';
-- ----------------------------
-- Table structure for container_info
-- ----------------------------
DROP TABLE IF EXISTS `container_info`;
CREATE TABLE `container_info`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '容器ID',
`app_id` bigint not null COMMENT '应用ID',
`container_name` varchar(128) not null COMMENT '容器名称',
`gmt_create` datetime not null COMMENT '创建时间',
`gmt_modified` datetime not null COMMENT '更新时间',
`last_deploy_time` datetime DEFAULT NULL COMMENT '上次部署时间',
`source_info` varchar(255) DEFAULT NULL COMMENT '资源信息,内容取决于source_type\n1、FatJar -> String\n2、Git -> JSON,{"repo”:””仓库,”branch”:”分支”,”username”:”账号,”password”:”密码”}',
`source_type` int not null COMMENT '资源类型,1:FatJar/2:Git',
`status` int not null COMMENT '状态,1:正常ENABLE/2:已禁用DISABLE/99:已删除DELETED',
`version` varchar(255) default null COMMENT '版本',
PRIMARY KEY (`id`),
KEY `idx01_container_info` (`app_id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='容器表';
-- ----------------------------
-- Table structure for instance_info
-- ----------------------------
DROP TABLE IF EXISTS `instance_info`;
CREATE TABLE `instance_info`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '任务实例ID',
`app_id` bigint not null COMMENT '应用ID',
`instance_id` bigint not null COMMENT '任务实例ID',
`type` int not NULL COMMENT '任务实例类型,1:普通NORMAL/2:工作流WORKFLOW',
`job_id` bigint not NULL COMMENT '任务ID',
`instance_params` longtext COMMENT '任务动态参数',
`job_params` longtext COMMENT '任务静态参数',
`actual_trigger_time` bigint default NULL COMMENT '实际触发时间',
`expected_trigger_time` bigint DEFAULT NULL COMMENT '计划触发时间',
`finished_time` bigint DEFAULT NULL COMMENT '执行结束时间',
`last_report_time` bigint DEFAULT NULL COMMENT '最后上报时间',
`result` longtext COMMENT '执行结果',
`running_times` bigint DEFAULT NULL COMMENT '总执行次数,用于重试判断',
`status` int not NULL COMMENT '任务状态,1:等待派发WAITING_DISPATCH/2:等待Worker接收WAITING_WORKER_RECEIVE/3:运行中RUNNING/4:失败FAILED/5:成功SUCCEED/9:取消CANCELED/10:手动停止STOPPED',
`task_tracker_address` varchar(255) DEFAULT NULL COMMENT 'TaskTracker地址',
`wf_instance_id` bigint DEFAULT NULL COMMENT '工作流实例ID',
`additional_data` longtext comment '附加信息 (JSON)',
`gmt_create` datetime not NULL COMMENT '创建时间',
`gmt_modified` datetime not NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx01_instance_info` (`job_id`, 'status'),
KEY `idx02_instance_info` (`app_id`, `status`),
KEY `idx03_instance_info` (`instance_id`, `status`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='任务实例表';
-- ----------------------------
-- Table structure for job_info
-- ----------------------------
DROP TABLE IF EXISTS `job_info`;
CREATE TABLE `job_info`
(
`id` bigint NOT NULL AUTO_INCREMENT,
`app_id` bigint DEFAULT NULL COMMENT '应用ID',
`job_name` varchar(128) DEFAULT NULL COMMENT '任务名称',
`job_description` varchar(255) DEFAULT NULL COMMENT '任务描述',
`job_params` text COMMENT '任务默认参数',
`concurrency` int DEFAULT NULL COMMENT '并发度,同时执行某个任务的最大线程数量',
`designated_workers` varchar(255) DEFAULT NULL COMMENT '运行节点,空:不限(多值逗号分割)',
`dispatch_strategy` int DEFAULT NULL COMMENT '投递策略,1:健康优先/2:随机',
`execute_type` int not NULL COMMENT '执行类型,1:单机STANDALONE/2:广播BROADCAST/3:MAP_REDUCE/4:MAP',
`instance_retry_num` int not null DEFAULT 0 COMMENT 'Instance重试次数',
`instance_time_limit` bigint not null DEFAULT 0 COMMENT '任务整体超时时间',
`lifecycle` varchar(255) DEFAULT NULL COMMENT '生命周期',
`max_instance_num` int not null DEFAULT 1 COMMENT '最大同时运行任务数,默认 1',
`max_worker_count` int not null DEFAULT 0 COMMENT '最大运行节点数量',
`min_cpu_cores` double NOT NULL default 0 COMMENT '最低CPU核心数量,0:不限',
`min_disk_space` double NOT NULL default 0 COMMENT '最低磁盘空间(GB),0:不限',
`min_memory_space` double NOT NULL default 0 COMMENT '最低内存空间(GB),0:不限',
`next_trigger_time` bigint DEFAULT NULL COMMENT '下一次调度时间',
`notify_user_ids` varchar(255) DEFAULT NULL COMMENT '报警用户(多值逗号分割)',
`processor_info` varchar(255) DEFAULT NULL COMMENT '执行器信息',
`processor_type` int not NULL COMMENT '执行器类型,1:内建处理器BUILT_IN/2:SHELL/3:PYTHON/4:外部处理器(动态加载)EXTERNAL',
`status` int not NULL COMMENT '状态,1:正常ENABLE/2:已禁用DISABLE/99:已删除DELETED',
`task_retry_num` int not NULL default 0 COMMENT 'Task重试次数',
`time_expression` varchar(255) default NULL COMMENT '时间表达式,内容取决于time_expression_type,1:CRON/2:NULL/3:LONG/4:LONG',
`time_expression_type` int not NULL COMMENT '时间表达式类型,1:CRON/2:API/3:FIX_RATE/4:FIX_DELAY,5:WORKFLOW\n)',
`tag` varchar(255) DEFAULT NULL COMMENT 'TAG',
`log_config` varchar(255) DEFAULT NULL COMMENT '日志配置',
`extra` varchar(255) DEFAULT NULL COMMENT '扩展字段',
`gmt_create` datetime not NULL COMMENT '创建时间',
`gmt_modified` datetime not NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx01_job_info` (`app_id`, `status`, `time_expression_type`, `next_trigger_time`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='任务表';
-- ----------------------------
-- Table structure for oms_lock
-- ----------------------------
DROP TABLE IF EXISTS `oms_lock`;
CREATE TABLE `oms_lock`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '序号ID',
`lock_name` varchar(128) DEFAULT NULL COMMENT '名称',
`max_lock_time` bigint DEFAULT NULL COMMENT '最长持锁时间',
`ownerip` varchar(255) DEFAULT NULL COMMENT '拥有者IP',
`gmt_create` datetime not NULL COMMENT '创建时间',
`gmt_modified` datetime not NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uidx01_oms_lock` (`lock_name`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='数据库锁';
-- ----------------------------
-- Table structure for server_info
-- ----------------------------
DROP TABLE IF EXISTS `server_info`;
CREATE TABLE `server_info`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '服务器ID',
`gmt_create` datetime DEFAULT NULL COMMENT '创建时间',
`gmt_modified` datetime DEFAULT NULL COMMENT '更新时间',
`ip` varchar(128) DEFAULT NULL COMMENT '服务器IP地址',
PRIMARY KEY (`id`),
UNIQUE KEY `uidx01_server_info` (`ip`),
KEY `idx01_server_info` (`gmt_modified`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='服务器表';
-- ----------------------------
-- Table structure for user_info
-- ----------------------------
DROP TABLE IF EXISTS `user_info`;
CREATE TABLE `user_info`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`username` varchar(128) not NULL COMMENT '用户名',
`password` varchar(255) default NULL COMMENT '密码',
`phone` varchar(255) DEFAULT NULL COMMENT '手机号',
`email` varchar(128) not NULL COMMENT '邮箱',
`extra` varchar(255) DEFAULT NULL COMMENT '扩展字段',
`web_hook` varchar(255) DEFAULT NULL COMMENT 'webhook地址',
`gmt_create` datetime not NULL COMMENT '创建时间',
`gmt_modified` datetime not NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
unique index uidx01_user_info (username),
unique index uidx02_user_info (email)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='用户表';
-- ----------------------------
-- Table structure for workflow_info
-- ----------------------------
DROP TABLE IF EXISTS `workflow_info`;
CREATE TABLE `workflow_info`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '工作流ID',
`app_id` bigint not NULL COMMENT '应用ID',
`wf_name` varchar(128) not NULL COMMENT '工作流名称',
`wf_description` varchar(255) default NULL COMMENT '工作流描述',
`extra` varchar(255) DEFAULT NULL COMMENT '扩展字段',
`lifecycle` varchar(255) DEFAULT NULL COMMENT '生命周期',
`max_wf_instance_num` int not null DEFAULT 1 COMMENT '最大运行工作流数量,默认 1',
`next_trigger_time` bigint DEFAULT NULL COMMENT '下次调度时间',
`notify_user_ids` varchar(255) DEFAULT NULL COMMENT '报警用户(多值逗号分割)',
`pedag` text COMMENT 'DAG信息(JSON)',
`status` int not NULL COMMENT '状态,1:正常ENABLE/2:已禁用DISABLE/99:已删除DELETED',
`time_expression` varchar(255) DEFAULT NULL COMMENT '时间表达式,内容取决于time_expression_type,1:CRON/2:NULL/3:LONG/4:LONG',
`time_expression_type` int not NULL COMMENT '时间表达式类型,1:CRON/2:API/3:FIX_RATE/4:FIX_DELAY,5:WORKFLOW\n)',
`gmt_create` datetime DEFAULT NULL COMMENT '创建时间',
`gmt_modified` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx01_workflow_info` (`app_id`, `status`, `time_expression_type`, next_trigger_time)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='工作流表';
-- ----------------------------
-- Table structure for workflow_instance_info
-- ----------------------------
DROP TABLE IF EXISTS `workflow_instance_info`;
CREATE TABLE `workflow_instance_info`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '工作流实例ID',
`wf_instance_id` bigint DEFAULT NULL COMMENT '工作流实例ID',
`workflow_id` bigint DEFAULT NULL COMMENT '工作流ID',
`actual_trigger_time` bigint DEFAULT NULL COMMENT '实际触发时间',
`app_id` bigint DEFAULT NULL COMMENT '应用ID',
`dag` text COMMENT 'DAG信息(JSON)',
`expected_trigger_time` bigint DEFAULT NULL COMMENT '计划触发时间',
`finished_time` bigint DEFAULT NULL COMMENT '执行结束时间',
`result` text COMMENT '执行结果',
`status` int DEFAULT NULL COMMENT '工作流实例状态,1:等待调度WAITING/2:运行中RUNNING/3:失败FAILED/4:成功SUCCEED/10:手动停止STOPPED',
`wf_context` text COMMENT '工作流上下文',
`wf_init_params` text COMMENT '工作流启动参数',
`gmt_create` datetime DEFAULT NULL COMMENT '创建时间',
`gmt_modified` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
unique index uidx01_wf_instance (`wf_instance_id`),
index idx01_wf_instance (`workflow_id`, `status`),
index idx02_wf_instance (`app_id`, `status`, `expected_trigger_time`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='工作流实例表';
-- ----------------------------
-- Table structure for workflow_node_info
-- ----------------------------
DROP TABLE IF EXISTS `workflow_node_info`;
CREATE TABLE `workflow_node_info`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '节点ID',
`app_id` bigint NOT NULL COMMENT '应用ID',
`enable` bit(1) NOT NULL COMMENT '是否启动,0:否/1:是',
`extra` text COMMENT '扩展字段',
`gmt_create` datetime NOT NULL COMMENT '创建时间',
`gmt_modified` datetime NOT NULL COMMENT '更新时间',
`job_id` bigint default NULL COMMENT '任务ID',
`node_name` varchar(255) DEFAULT NULL COMMENT '节点名称',
`node_params` text COMMENT '节点参数',
`skip_when_failed` bit(1) NOT NULL COMMENT '是否允许失败跳过,0:否/1:是',
`type` int DEFAULT NULL COMMENT '节点类型,1:任务JOB',
`workflow_id` bigint DEFAULT NULL COMMENT '工作流ID',
PRIMARY KEY (`id`),
KEY `idx01_workflow_node_info` (`workflow_id`,`gmt_create`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='工作流节点表';
SET FOREIGN_KEY_CHECKS = 1;