PowerJob/others/powerjob-mysql.sql
2023-03-05 15:47:22 +08:00

265 lines
14 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;