dolphinscheduler_ddl.sql 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
  2. -- ac_escheduler_T_t_escheduler_version
  3. drop PROCEDURE if EXISTS ac_escheduler_T_t_escheduler_version;
  4. delimiter d//
  5. CREATE PROCEDURE ac_escheduler_T_t_escheduler_version()
  6. BEGIN
  7. drop table if exists t_escheduler_version;
  8. CREATE TABLE IF NOT EXISTS `t_escheduler_version` (
  9. `id` int(11) NOT NULL AUTO_INCREMENT,
  10. `version` varchar(200) NOT NULL,
  11. PRIMARY KEY (`id`),
  12. UNIQUE KEY `version_UNIQUE` (`version`)
  13. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='版本表';
  14. END;
  15. d//
  16. delimiter ;
  17. CALL ac_escheduler_T_t_escheduler_version;
  18. DROP PROCEDURE ac_escheduler_T_t_escheduler_version;
  19. -- ac_escheduler_T_t_escheduler_user_C_queue
  20. drop PROCEDURE if EXISTS ac_escheduler_T_t_escheduler_user_C_queue;
  21. delimiter d//
  22. CREATE PROCEDURE ac_escheduler_T_t_escheduler_user_C_queue()
  23. BEGIN
  24. IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
  25. WHERE TABLE_NAME='t_escheduler_user'
  26. AND TABLE_SCHEMA=(SELECT DATABASE())
  27. AND COLUMN_NAME='queue')
  28. THEN
  29. ALTER TABLE t_escheduler_user ADD COLUMN queue varchar(64) COMMENT '队列' AFTER update_time;
  30. END IF;
  31. END;
  32. d//
  33. delimiter ;
  34. CALL ac_escheduler_T_t_escheduler_user_C_queue;
  35. DROP PROCEDURE ac_escheduler_T_t_escheduler_user_C_queue;
  36. -- ac_escheduler_T_t_escheduler_access_token
  37. drop PROCEDURE if EXISTS ac_escheduler_T_t_escheduler_access_token;
  38. delimiter d//
  39. CREATE PROCEDURE ac_escheduler_T_t_escheduler_access_token()
  40. BEGIN
  41. drop table if exists t_escheduler_access_token;
  42. CREATE TABLE IF NOT EXISTS `t_escheduler_access_token` (
  43. `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  44. `user_id` int(11) DEFAULT NULL COMMENT '用户id',
  45. `token` varchar(64) DEFAULT NULL COMMENT 'token令牌',
  46. `expire_time` datetime DEFAULT NULL COMMENT 'token有效结束时间',
  47. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  48. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  49. PRIMARY KEY (`id`)
  50. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
  51. END;
  52. d//
  53. delimiter ;
  54. CALL ac_escheduler_T_t_escheduler_access_token;
  55. DROP PROCEDURE ac_escheduler_T_t_escheduler_access_token;
  56. -- ac_escheduler_T_t_escheduler_error_command
  57. drop PROCEDURE if EXISTS ac_escheduler_T_t_escheduler_error_command;
  58. delimiter d//
  59. CREATE PROCEDURE ac_escheduler_T_t_escheduler_error_command()
  60. BEGIN
  61. drop table if exists t_escheduler_error_command;
  62. CREATE TABLE IF NOT EXISTS `t_escheduler_error_command` (
  63. `id` int(11) NOT NULL COMMENT '主键',
  64. `command_type` tinyint(4) NULL DEFAULT NULL COMMENT '命令类型:0 启动工作流,1 从当前节点开始执行,2 恢复被容错的工作流,3 恢复暂停流程,4 从失败节点开始执行,5 补数,6 调度,7 重跑,8 暂停,9 停止,10 恢复等待线程',
  65. `executor_id` int(11) NULL DEFAULT NULL COMMENT '命令执行者',
  66. `process_definition_id` int(11) NULL DEFAULT NULL COMMENT '流程定义id',
  67. `command_param` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '命令的参数(json格式)',
  68. `task_depend_type` tinyint(4) NULL DEFAULT NULL COMMENT '节点依赖类型',
  69. `failure_strategy` tinyint(4) NULL DEFAULT 0 COMMENT '失败策略:0结束,1继续',
  70. `warning_type` tinyint(4) NULL DEFAULT 0 COMMENT '告警类型',
  71. `warning_group_id` int(11) NULL DEFAULT NULL COMMENT '告警组',
  72. `schedule_time` datetime(0) NULL DEFAULT NULL COMMENT '预期运行时间',
  73. `start_time` datetime(0) NULL DEFAULT NULL COMMENT '开始时间',
  74. `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
  75. `dependence` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '依赖字段',
  76. `process_instance_priority` int(11) NULL DEFAULT NULL COMMENT '流程实例优先级:0 Highest,1 High,2 Medium,3 Low,4 Lowest',
  77. `worker_group_id` int(11) NULL DEFAULT -1 COMMENT '任务指定运行的worker分组',
  78. `message` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '执行信息',
  79. PRIMARY KEY (`id`) USING BTREE
  80. ) ENGINE = InnoDB AUTO_INCREMENT=1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
  81. END;
  82. d//
  83. delimiter ;
  84. CALL ac_escheduler_T_t_escheduler_error_command;
  85. DROP PROCEDURE ac_escheduler_T_t_escheduler_error_command;
  86. -- ac_escheduler_T_t_escheduler_worker_group
  87. drop PROCEDURE if EXISTS ac_escheduler_T_t_escheduler_worker_group;
  88. delimiter d//
  89. CREATE PROCEDURE ac_escheduler_T_t_escheduler_worker_group()
  90. BEGIN
  91. drop table if exists t_escheduler_worker_group;
  92. CREATE TABLE IF NOT EXISTS `t_escheduler_worker_group` (
  93. `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
  94. `name` varchar(256) NULL DEFAULT NULL COMMENT '组名称',
  95. `ip_list` varchar(256) NULL DEFAULT NULL COMMENT 'worker地址列表',
  96. `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
  97. `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
  98. PRIMARY KEY (`id`) USING BTREE
  99. ) ENGINE = InnoDB AUTO_INCREMENT=1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
  100. END;
  101. d//
  102. delimiter ;
  103. CALL ac_escheduler_T_t_escheduler_worker_group;
  104. DROP PROCEDURE ac_escheduler_T_t_escheduler_worker_group;
  105. -- ac_escheduler_T_t_escheduler_task_instance_C_worker_group_id
  106. drop PROCEDURE if EXISTS ac_escheduler_T_t_escheduler_task_instance_C_worker_group_id;
  107. delimiter d//
  108. CREATE PROCEDURE ac_escheduler_T_t_escheduler_task_instance_C_worker_group_id()
  109. BEGIN
  110. IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
  111. WHERE TABLE_NAME='t_escheduler_task_instance'
  112. AND TABLE_SCHEMA=(SELECT DATABASE())
  113. AND COLUMN_NAME='worker_group_id')
  114. THEN
  115. ALTER TABLE t_escheduler_task_instance ADD COLUMN `worker_group_id` int(11) NULL DEFAULT -1 COMMENT '任务指定运行的worker分组' AFTER `task_instance_priority`;
  116. END IF;
  117. END;
  118. d//
  119. delimiter ;
  120. CALL ac_escheduler_T_t_escheduler_task_instance_C_worker_group_id;
  121. DROP PROCEDURE ac_escheduler_T_t_escheduler_task_instance_C_worker_group_id;
  122. -- ac_escheduler_T_t_escheduler_command_C_worker_group_id
  123. drop PROCEDURE if EXISTS ac_escheduler_T_t_escheduler_command_C_worker_group_id;
  124. delimiter d//
  125. CREATE PROCEDURE ac_escheduler_T_t_escheduler_command_C_worker_group_id()
  126. BEGIN
  127. IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
  128. WHERE TABLE_NAME='t_escheduler_command'
  129. AND TABLE_SCHEMA=(SELECT DATABASE())
  130. AND COLUMN_NAME='worker_group_id')
  131. THEN
  132. ALTER TABLE t_escheduler_command ADD COLUMN `worker_group_id` int(11) NULL DEFAULT -1 COMMENT '任务指定运行的worker分组' AFTER `process_instance_priority`;
  133. END IF;
  134. END;
  135. d//
  136. delimiter ;
  137. CALL ac_escheduler_T_t_escheduler_command_C_worker_group_id;
  138. DROP PROCEDURE ac_escheduler_T_t_escheduler_command_C_worker_group_id;
  139. -- ac_escheduler_T_t_escheduler_schedules_C_worker_group_id
  140. drop PROCEDURE if EXISTS ac_escheduler_T_t_escheduler_schedules_C_worker_group_id;
  141. delimiter d//
  142. CREATE PROCEDURE ac_escheduler_T_t_escheduler_schedules_C_worker_group_id()
  143. BEGIN
  144. IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
  145. WHERE TABLE_NAME='t_escheduler_schedules'
  146. AND TABLE_SCHEMA=(SELECT DATABASE())
  147. AND COLUMN_NAME='worker_group_id')
  148. THEN
  149. ALTER TABLE t_escheduler_schedules ADD COLUMN `worker_group_id` int(11) NULL DEFAULT -1 COMMENT '任务指定运行的worker分组' AFTER `process_instance_priority`;
  150. END IF;
  151. END;
  152. d//
  153. delimiter ;
  154. CALL ac_escheduler_T_t_escheduler_schedules_C_worker_group_id;
  155. DROP PROCEDURE ac_escheduler_T_t_escheduler_schedules_C_worker_group_id;
  156. -- ac_escheduler_T_t_escheduler_process_instance_C_worker_group_id
  157. drop PROCEDURE if EXISTS ac_escheduler_T_t_escheduler_process_instance_C_worker_group_id;
  158. delimiter d//
  159. CREATE PROCEDURE ac_escheduler_T_t_escheduler_process_instance_C_worker_group_id()
  160. BEGIN
  161. IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
  162. WHERE TABLE_NAME='t_escheduler_process_instance'
  163. AND TABLE_SCHEMA=(SELECT DATABASE())
  164. AND COLUMN_NAME='worker_group_id')
  165. THEN
  166. ALTER TABLE t_escheduler_process_instance ADD COLUMN `worker_group_id` int(11) NULL DEFAULT -1 COMMENT '任务指定运行的worker分组' AFTER `process_instance_priority`;
  167. END IF;
  168. END;
  169. d//
  170. delimiter ;
  171. CALL ac_escheduler_T_t_escheduler_process_instance_C_worker_group_id;
  172. DROP PROCEDURE ac_escheduler_T_t_escheduler_process_instance_C_worker_group_id;
  173. -- ac_escheduler_T_t_escheduler_process_instance_C_timeout
  174. drop PROCEDURE if EXISTS ac_escheduler_T_t_escheduler_process_instance_C_timeout;
  175. delimiter d//
  176. CREATE PROCEDURE ac_escheduler_T_t_escheduler_process_instance_C_timeout()
  177. BEGIN
  178. IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
  179. WHERE TABLE_NAME='t_escheduler_process_instance'
  180. AND TABLE_SCHEMA=(SELECT DATABASE())
  181. AND COLUMN_NAME='timeout')
  182. THEN
  183. ALTER TABLE `t_escheduler_process_instance` ADD COLUMN `timeout` int(11) NULL DEFAULT 0 COMMENT '超时时间' AFTER `worker_group_id`;
  184. END IF;
  185. END;
  186. d//
  187. delimiter ;
  188. CALL ac_escheduler_T_t_escheduler_process_instance_C_timeout;
  189. DROP PROCEDURE ac_escheduler_T_t_escheduler_process_instance_C_timeout;
  190. -- ac_escheduler_T_t_escheduler_process_definition_C_timeout
  191. drop PROCEDURE if EXISTS ac_escheduler_T_t_escheduler_process_definition_C_timeout;
  192. delimiter d//
  193. CREATE PROCEDURE ac_escheduler_T_t_escheduler_process_definition_C_timeout()
  194. BEGIN
  195. IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
  196. WHERE TABLE_NAME='t_escheduler_process_definition'
  197. AND TABLE_SCHEMA=(SELECT DATABASE())
  198. AND COLUMN_NAME='timeout')
  199. THEN
  200. ALTER TABLE `t_escheduler_process_definition` ADD COLUMN `timeout` int(11) NULL DEFAULT 0 COMMENT '超时时间' AFTER `create_time`;
  201. END IF;
  202. END;
  203. d//
  204. delimiter ;
  205. CALL ac_escheduler_T_t_escheduler_process_definition_C_timeout;
  206. DROP PROCEDURE ac_escheduler_T_t_escheduler_process_definition_C_timeout;