powerjob-mysql.sql 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
  1. SET NAMES utf8mb4;
  2. SET FOREIGN_KEY_CHECKS = 0;
  3. -- ----------------------------
  4. -- Table structure for app_info
  5. -- ----------------------------
  6. DROP TABLE IF EXISTS `app_info`;
  7. CREATE TABLE `app_info`
  8. (
  9. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '应用ID',
  10. `app_name` varchar(128) not NULL COMMENT '应用名称',
  11. `current_server` varchar(255) default null COMMENT 'Server地址,用于负责调度应用的ActorSystem地址',
  12. `gmt_create` datetime not null COMMENT '创建时间',
  13. `gmt_modified` datetime not null COMMENT '更新时间',
  14. `password` varchar(255) not null COMMENT '应用密码',
  15. PRIMARY KEY (`id`),
  16. UNIQUE KEY `uidx01_app_info` (`app_name`)
  17. ) ENGINE = InnoDB
  18. AUTO_INCREMENT = 1
  19. DEFAULT CHARSET = utf8mb4
  20. COLLATE = utf8mb4_general_ci COMMENT ='应用表';
  21. -- ----------------------------
  22. -- Table structure for container_info
  23. -- ----------------------------
  24. DROP TABLE IF EXISTS `container_info`;
  25. CREATE TABLE `container_info`
  26. (
  27. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '容器ID',
  28. `app_id` bigint not null COMMENT '应用ID',
  29. `container_name` varchar(128) not null COMMENT '容器名称',
  30. `gmt_create` datetime not null COMMENT '创建时间',
  31. `gmt_modified` datetime not null COMMENT '更新时间',
  32. `last_deploy_time` datetime DEFAULT NULL COMMENT '上次部署时间',
  33. `source_info` varchar(255) DEFAULT NULL COMMENT '资源信息,内容取决于source_type\n1、FatJar -> String\n2、Git -> JSON,{"repo”:””仓库,”branch”:”分支”,”username”:”账号,”password”:”密码”}',
  34. `source_type` int not null COMMENT '资源类型,1:FatJar/2:Git',
  35. `status` int not null COMMENT '状态,1:正常ENABLE/2:已禁用DISABLE/99:已删除DELETED',
  36. `version` varchar(255) default null COMMENT '版本',
  37. PRIMARY KEY (`id`),
  38. KEY `idx01_container_info` (`app_id`)
  39. ) ENGINE = InnoDB
  40. DEFAULT CHARSET = utf8mb4
  41. COLLATE = utf8mb4_general_ci COMMENT ='容器表';
  42. -- ----------------------------
  43. -- Table structure for instance_info
  44. -- ----------------------------
  45. DROP TABLE IF EXISTS `instance_info`;
  46. CREATE TABLE `instance_info`
  47. (
  48. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '任务实例ID',
  49. `app_id` bigint not null COMMENT '应用ID',
  50. `instance_id` bigint not null COMMENT '任务实例ID',
  51. `type` int not NULL COMMENT '任务实例类型,1:普通NORMAL/2:工作流WORKFLOW',
  52. `job_id` bigint not NULL COMMENT '任务ID',
  53. `instance_params` longtext COMMENT '任务动态参数',
  54. `job_params` longtext COMMENT '任务静态参数',
  55. `actual_trigger_time` bigint default NULL COMMENT '实际触发时间',
  56. `expected_trigger_time` bigint DEFAULT NULL COMMENT '计划触发时间',
  57. `finished_time` bigint DEFAULT NULL COMMENT '执行结束时间',
  58. `last_report_time` bigint DEFAULT NULL COMMENT '最后上报时间',
  59. `result` longtext COMMENT '执行结果',
  60. `running_times` bigint DEFAULT NULL COMMENT '总执行次数,用于重试判断',
  61. `status` int not NULL COMMENT '任务状态,1:等待派发WAITING_DISPATCH/2:等待Worker接收WAITING_WORKER_RECEIVE/3:运行中RUNNING/4:失败FAILED/5:成功SUCCEED/9:取消CANCELED/10:手动停止STOPPED',
  62. `task_tracker_address` varchar(255) DEFAULT NULL COMMENT 'TaskTracker地址',
  63. `wf_instance_id` bigint DEFAULT NULL COMMENT '工作流实例ID',
  64. `additional_data` longtext comment '附加信息 (JSON)',
  65. `gmt_create` datetime not NULL COMMENT '创建时间',
  66. `gmt_modified` datetime not NULL COMMENT '更新时间',
  67. PRIMARY KEY (`id`),
  68. KEY `idx01_instance_info` (`job_id`, 'status'),
  69. KEY `idx02_instance_info` (`app_id`, `status`),
  70. KEY `idx03_instance_info` (`instance_id`, `status`)
  71. ) ENGINE = InnoDB
  72. AUTO_INCREMENT = 1
  73. DEFAULT CHARSET = utf8mb4
  74. COLLATE = utf8mb4_general_ci COMMENT ='任务实例表';
  75. -- ----------------------------
  76. -- Table structure for job_info
  77. -- ----------------------------
  78. DROP TABLE IF EXISTS `job_info`;
  79. CREATE TABLE `job_info`
  80. (
  81. `id` bigint NOT NULL AUTO_INCREMENT,
  82. `app_id` bigint DEFAULT NULL COMMENT '应用ID',
  83. `job_name` varchar(128) DEFAULT NULL COMMENT '任务名称',
  84. `job_description` varchar(255) DEFAULT NULL COMMENT '任务描述',
  85. `job_params` text COMMENT '任务默认参数',
  86. `concurrency` int DEFAULT NULL COMMENT '并发度,同时执行某个任务的最大线程数量',
  87. `designated_workers` varchar(255) DEFAULT NULL COMMENT '运行节点,空:不限(多值逗号分割)',
  88. `dispatch_strategy` int DEFAULT NULL COMMENT '投递策略,1:健康优先/2:随机',
  89. `execute_type` int not NULL COMMENT '执行类型,1:单机STANDALONE/2:广播BROADCAST/3:MAP_REDUCE/4:MAP',
  90. `instance_retry_num` int not null DEFAULT 0 COMMENT 'Instance重试次数',
  91. `instance_time_limit` bigint not null DEFAULT 0 COMMENT '任务整体超时时间',
  92. `lifecycle` varchar(255) DEFAULT NULL COMMENT '生命周期',
  93. `max_instance_num` int not null DEFAULT 1 COMMENT '最大同时运行任务数,默认 1',
  94. `max_worker_count` int not null DEFAULT 0 COMMENT '最大运行节点数量',
  95. `min_cpu_cores` double NOT NULL default 0 COMMENT '最低CPU核心数量,0:不限',
  96. `min_disk_space` double NOT NULL default 0 COMMENT '最低磁盘空间(GB),0:不限',
  97. `min_memory_space` double NOT NULL default 0 COMMENT '最低内存空间(GB),0:不限',
  98. `next_trigger_time` bigint DEFAULT NULL COMMENT '下一次调度时间',
  99. `notify_user_ids` varchar(255) DEFAULT NULL COMMENT '报警用户(多值逗号分割)',
  100. `processor_info` varchar(255) DEFAULT NULL COMMENT '执行器信息',
  101. `processor_type` int not NULL COMMENT '执行器类型,1:内建处理器BUILT_IN/2:SHELL/3:PYTHON/4:外部处理器(动态加载)EXTERNAL',
  102. `status` int not NULL COMMENT '状态,1:正常ENABLE/2:已禁用DISABLE/99:已删除DELETED',
  103. `task_retry_num` int not NULL default 0 COMMENT 'Task重试次数',
  104. `time_expression` varchar(255) default NULL COMMENT '时间表达式,内容取决于time_expression_type,1:CRON/2:NULL/3:LONG/4:LONG',
  105. `time_expression_type` int not NULL COMMENT '时间表达式类型,1:CRON/2:API/3:FIX_RATE/4:FIX_DELAY,5:WORKFLOW\n)',
  106. `tag` varchar(255) DEFAULT NULL COMMENT 'TAG',
  107. `log_config` varchar(255) DEFAULT NULL COMMENT '日志配置',
  108. `extra` varchar(255) DEFAULT NULL COMMENT '扩展字段',
  109. `gmt_create` datetime not NULL COMMENT '创建时间',
  110. `gmt_modified` datetime not NULL COMMENT '更新时间',
  111. PRIMARY KEY (`id`),
  112. KEY `idx01_job_info` (`app_id`, `status`, `time_expression_type`, `next_trigger_time`)
  113. ) ENGINE = InnoDB
  114. AUTO_INCREMENT = 1
  115. DEFAULT CHARSET = utf8mb4
  116. COLLATE = utf8mb4_general_ci COMMENT ='任务表';
  117. -- ----------------------------
  118. -- Table structure for oms_lock
  119. -- ----------------------------
  120. DROP TABLE IF EXISTS `oms_lock`;
  121. CREATE TABLE `oms_lock`
  122. (
  123. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '序号ID',
  124. `lock_name` varchar(128) DEFAULT NULL COMMENT '名称',
  125. `max_lock_time` bigint DEFAULT NULL COMMENT '最长持锁时间',
  126. `ownerip` varchar(255) DEFAULT NULL COMMENT '拥有者IP',
  127. `gmt_create` datetime not NULL COMMENT '创建时间',
  128. `gmt_modified` datetime not NULL COMMENT '更新时间',
  129. PRIMARY KEY (`id`),
  130. UNIQUE KEY `uidx01_oms_lock` (`lock_name`)
  131. ) ENGINE = InnoDB
  132. AUTO_INCREMENT = 1
  133. DEFAULT CHARSET = utf8mb4
  134. COLLATE = utf8mb4_general_ci COMMENT ='数据库锁';
  135. -- ----------------------------
  136. -- Table structure for server_info
  137. -- ----------------------------
  138. DROP TABLE IF EXISTS `server_info`;
  139. CREATE TABLE `server_info`
  140. (
  141. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '服务器ID',
  142. `gmt_create` datetime DEFAULT NULL COMMENT '创建时间',
  143. `gmt_modified` datetime DEFAULT NULL COMMENT '更新时间',
  144. `ip` varchar(128) DEFAULT NULL COMMENT '服务器IP地址',
  145. PRIMARY KEY (`id`),
  146. UNIQUE KEY `uidx01_server_info` (`ip`),
  147. KEY `idx01_server_info` (`gmt_modified`)
  148. ) ENGINE = InnoDB
  149. AUTO_INCREMENT = 1
  150. DEFAULT CHARSET = utf8mb4
  151. COLLATE = utf8mb4_general_ci COMMENT ='服务器表';
  152. -- ----------------------------
  153. -- Table structure for user_info
  154. -- ----------------------------
  155. DROP TABLE IF EXISTS `user_info`;
  156. CREATE TABLE `user_info`
  157. (
  158. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  159. `username` varchar(128) not NULL COMMENT '用户名',
  160. `password` varchar(255) default NULL COMMENT '密码',
  161. `phone` varchar(255) DEFAULT NULL COMMENT '手机号',
  162. `email` varchar(128) not NULL COMMENT '邮箱',
  163. `extra` varchar(255) DEFAULT NULL COMMENT '扩展字段',
  164. `web_hook` varchar(255) DEFAULT NULL COMMENT 'webhook地址',
  165. `gmt_create` datetime not NULL COMMENT '创建时间',
  166. `gmt_modified` datetime not NULL COMMENT '更新时间',
  167. PRIMARY KEY (`id`),
  168. unique index uidx01_user_info (username),
  169. unique index uidx02_user_info (email)
  170. ) ENGINE = InnoDB
  171. DEFAULT CHARSET = utf8mb4
  172. COLLATE = utf8mb4_general_ci COMMENT ='用户表';
  173. -- ----------------------------
  174. -- Table structure for workflow_info
  175. -- ----------------------------
  176. DROP TABLE IF EXISTS `workflow_info`;
  177. CREATE TABLE `workflow_info`
  178. (
  179. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '工作流ID',
  180. `app_id` bigint not NULL COMMENT '应用ID',
  181. `wf_name` varchar(128) not NULL COMMENT '工作流名称',
  182. `wf_description` varchar(255) default NULL COMMENT '工作流描述',
  183. `extra` varchar(255) DEFAULT NULL COMMENT '扩展字段',
  184. `lifecycle` varchar(255) DEFAULT NULL COMMENT '生命周期',
  185. `max_wf_instance_num` int not null DEFAULT 1 COMMENT '最大运行工作流数量,默认 1',
  186. `next_trigger_time` bigint DEFAULT NULL COMMENT '下次调度时间',
  187. `notify_user_ids` varchar(255) DEFAULT NULL COMMENT '报警用户(多值逗号分割)',
  188. `pedag` text COMMENT 'DAG信息(JSON)',
  189. `status` int not NULL COMMENT '状态,1:正常ENABLE/2:已禁用DISABLE/99:已删除DELETED',
  190. `time_expression` varchar(255) DEFAULT NULL COMMENT '时间表达式,内容取决于time_expression_type,1:CRON/2:NULL/3:LONG/4:LONG',
  191. `time_expression_type` int not NULL COMMENT '时间表达式类型,1:CRON/2:API/3:FIX_RATE/4:FIX_DELAY,5:WORKFLOW\n)',
  192. `gmt_create` datetime DEFAULT NULL COMMENT '创建时间',
  193. `gmt_modified` datetime DEFAULT NULL COMMENT '更新时间',
  194. PRIMARY KEY (`id`),
  195. KEY `idx01_workflow_info` (`app_id`, `status`, `time_expression_type`, next_trigger_time)
  196. ) ENGINE = InnoDB
  197. AUTO_INCREMENT = 1
  198. DEFAULT CHARSET = utf8mb4
  199. COLLATE = utf8mb4_general_ci COMMENT ='工作流表';
  200. -- ----------------------------
  201. -- Table structure for workflow_instance_info
  202. -- ----------------------------
  203. DROP TABLE IF EXISTS `workflow_instance_info`;
  204. CREATE TABLE `workflow_instance_info`
  205. (
  206. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '工作流实例ID',
  207. `wf_instance_id` bigint DEFAULT NULL COMMENT '工作流实例ID',
  208. `workflow_id` bigint DEFAULT NULL COMMENT '工作流ID',
  209. `actual_trigger_time` bigint DEFAULT NULL COMMENT '实际触发时间',
  210. `app_id` bigint DEFAULT NULL COMMENT '应用ID',
  211. `dag` text COMMENT 'DAG信息(JSON)',
  212. `expected_trigger_time` bigint DEFAULT NULL COMMENT '计划触发时间',
  213. `finished_time` bigint DEFAULT NULL COMMENT '执行结束时间',
  214. `result` text COMMENT '执行结果',
  215. `status` int DEFAULT NULL COMMENT '工作流实例状态,1:等待调度WAITING/2:运行中RUNNING/3:失败FAILED/4:成功SUCCEED/10:手动停止STOPPED',
  216. `wf_context` text COMMENT '工作流上下文',
  217. `wf_init_params` text COMMENT '工作流启动参数',
  218. `gmt_create` datetime DEFAULT NULL COMMENT '创建时间',
  219. `gmt_modified` datetime DEFAULT NULL COMMENT '更新时间',
  220. PRIMARY KEY (`id`),
  221. unique index uidx01_wf_instance (`wf_instance_id`),
  222. index idx01_wf_instance (`workflow_id`, `status`),
  223. index idx02_wf_instance (`app_id`, `status`, `expected_trigger_time`)
  224. ) ENGINE = InnoDB
  225. AUTO_INCREMENT = 1
  226. DEFAULT CHARSET = utf8mb4
  227. COLLATE = utf8mb4_general_ci COMMENT ='工作流实例表';
  228. -- ----------------------------
  229. -- Table structure for workflow_node_info
  230. -- ----------------------------
  231. DROP TABLE IF EXISTS `workflow_node_info`;
  232. CREATE TABLE `workflow_node_info`
  233. (
  234. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '节点ID',
  235. `app_id` bigint NOT NULL COMMENT '应用ID',
  236. `enable` bit(1) NOT NULL COMMENT '是否启动,0:否/1:是',
  237. `extra` text COMMENT '扩展字段',
  238. `gmt_create` datetime NOT NULL COMMENT '创建时间',
  239. `gmt_modified` datetime NOT NULL COMMENT '更新时间',
  240. `job_id` bigint default NULL COMMENT '任务ID',
  241. `node_name` varchar(255) DEFAULT NULL COMMENT '节点名称',
  242. `node_params` text COMMENT '节点参数',
  243. `skip_when_failed` bit(1) NOT NULL COMMENT '是否允许失败跳过,0:否/1:是',
  244. `type` int DEFAULT NULL COMMENT '节点类型,1:任务JOB',
  245. `workflow_id` bigint DEFAULT NULL COMMENT '工作流ID',
  246. PRIMARY KEY (`id`),
  247. KEY `idx01_workflow_node_info` (`workflow_id`,`gmt_create`)
  248. ) ENGINE = InnoDB
  249. AUTO_INCREMENT = 1
  250. DEFAULT CHARSET = utf8mb4
  251. COLLATE = utf8mb4_general_ci COMMENT ='工作流节点表';
  252. SET FOREIGN_KEY_CHECKS = 1;