easy_retry_oracle.sql 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825
  1. -- Oracle DDL
  2. -- er_namespace
  3. CREATE TABLE er_namespace
  4. (
  5. id NUMBER GENERATED ALWAYS AS IDENTITY,
  6. name VARCHAR2(64) NOT NULL,
  7. unique_id VARCHAR2(64) NOT NULL,
  8. description VARCHAR2(256) DEFAULT '',
  9. create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  10. update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  11. deleted SMALLINT DEFAULT 0
  12. );
  13. CREATE UNIQUE INDEX uk_namespace_1 ON namespace (unique_id);
  14. COMMENT ON TABLE namespace IS '命名空间';
  15. COMMENT ON COLUMN namespace.id IS '主键';
  16. COMMENT ON COLUMN namespace.name IS '名称';
  17. COMMENT ON COLUMN namespace.unique_id IS '唯一id';
  18. COMMENT ON COLUMN namespace.description IS '描述';
  19. COMMENT ON COLUMN namespace.create_dt IS '创建时间';
  20. COMMENT ON COLUMN namespace.update_dt IS '修改时间';
  21. COMMENT ON COLUMN namespace.deleted IS '逻辑删除 1、删除';
  22. INSERT INTO er_namespace VALUES (1, 'Development', 'dev', '', sysdate, sysdate, 0);
  23. INSERT INTO er_namespace VALUES (2, 'Production', 'prod', '', sysdate, sysdate, 0);
  24. -- er_group_config
  25. CREATE TABLE er_group_config
  26. (
  27. id NUMBER GENERATED ALWAYS AS IDENTITY,
  28. namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
  29. group_name VARCHAR2(64) NOT NULL,
  30. description VARCHAR2(256) DEFAULT '',
  31. token VARCHAR2(64) DEFAULT 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT',
  32. group_status SMALLINT DEFAULT 0,
  33. version INT NOT NULL,
  34. group_partition INT NOT NULL,
  35. id_generator_mode SMALLINT DEFAULT 1,
  36. init_scene SMALLINT DEFAULT 0,
  37. bucket_index INT DEFAULT 0,
  38. create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  39. update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  40. );
  41. CREATE UNIQUE INDEX uk_group_config_1 ON group_config (namespace_id, group_name);
  42. COMMENT ON TABLE group_config IS '组配置';
  43. COMMENT ON COLUMN group_config.id IS '主键';
  44. COMMENT ON COLUMN group_config.namespace_id IS '命名空间';
  45. COMMENT ON COLUMN group_config.group_name IS '组名称';
  46. COMMENT ON COLUMN group_config.description IS '组描述';
  47. COMMENT ON COLUMN group_config.token IS 'token';
  48. COMMENT ON COLUMN group_config.group_status IS '组状态 0、未启用 1、启用';
  49. COMMENT ON COLUMN group_config.version IS '版本号';
  50. COMMENT ON COLUMN group_config.group_partition IS '分区';
  51. COMMENT ON COLUMN group_config.id_generator_mode IS '唯一id生成模式 默认号段模式';
  52. COMMENT ON COLUMN group_config.init_scene IS '是否初始化场景 0:否 1:是';
  53. COMMENT ON COLUMN group_config.bucket_index IS 'bucket';
  54. COMMENT ON COLUMN group_config.create_dt IS '创建时间';
  55. COMMENT ON COLUMN group_config.update_dt IS '修改时间';
  56. INSERT INTO er_group_config VALUES (1, 'dev', 'ruoyi_group', '', 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, 4, sysdate, sysdate);
  57. -- er_notify_config
  58. CREATE TABLE er_notify_config
  59. (
  60. id NUMBER GENERATED ALWAYS AS IDENTITY,
  61. namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
  62. group_name VARCHAR2(64) NOT NULL,
  63. scene_name VARCHAR2(64) NOT NULL,
  64. notify_status SMALLINT DEFAULT 0,
  65. notify_type SMALLINT DEFAULT 0,
  66. notify_attribute VARCHAR2(512) NOT NULL,
  67. notify_threshold INT DEFAULT 0,
  68. notify_scene SMALLINT DEFAULT 0,
  69. rate_limiter_status SMALLINT DEFAULT 0,
  70. rate_limiter_threshold INT DEFAULT 0,
  71. description VARCHAR2(256) DEFAULT '',
  72. create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  73. update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  74. );
  75. CREATE INDEX idx_notify_config_1 ON notify_config (namespace_id, group_name);
  76. COMMENT ON TABLE notify_config IS '通知配置';
  77. COMMENT ON COLUMN notify_config.id IS '主键';
  78. COMMENT ON COLUMN notify_config.group_name IS '组名称';
  79. COMMENT ON COLUMN notify_config.namespace_id IS '命名空间id';
  80. COMMENT ON COLUMN notify_config.scene_name IS '场景名称';
  81. COMMENT ON COLUMN notify_config.notify_status IS '通知状态 0、未启用 1、启用';
  82. COMMENT ON COLUMN notify_config.notify_type IS '通知类型 1、钉钉 2、邮件 3、企业微信';
  83. COMMENT ON COLUMN notify_config.notify_attribute IS '配置属性';
  84. COMMENT ON COLUMN notify_config.notify_threshold IS '通知阈值';
  85. COMMENT ON COLUMN notify_config.notify_scene IS '通知场景';
  86. COMMENT ON COLUMN notify_config.rate_limiter_status IS '限流状态 0、未启用 1、启用';
  87. COMMENT ON COLUMN notify_config.rate_limiter_threshold IS '每秒限流阈值';
  88. COMMENT ON COLUMN notify_config.description IS '描述';
  89. COMMENT ON COLUMN notify_config.create_dt IS '创建时间';
  90. COMMENT ON COLUMN notify_config.update_dt IS '修改时间';
  91. -- er_retry_dead_letter
  92. CREATE TABLE er_retry_dead_letter_0
  93. (
  94. id NUMBER GENERATED ALWAYS AS IDENTITY,
  95. unique_id VARCHAR2(64) NOT NULL,
  96. namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
  97. group_name VARCHAR2(64) NOT NULL,
  98. scene_name VARCHAR2(64) NOT NULL,
  99. idempotent_id VARCHAR2(64) NOT NULL,
  100. biz_no VARCHAR2(64) DEFAULT '',
  101. executor_name VARCHAR2(512) DEFAULT '',
  102. args_str CLOB DEFAULT '',
  103. ext_attrs CLOB DEFAULT '',
  104. task_type SMALLINT DEFAULT 1,
  105. create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  106. );
  107. CREATE UNIQUE INDEX uk_retry_dead_letter_0_1 ON retry_dead_letter_0 (namespace_id, group_name, unique_id);
  108. CREATE INDEX idx_retry_dead_letter_0_1 ON retry_dead_letter_0 (namespace_id, group_name, scene_name);
  109. CREATE INDEX idx_retry_dead_letter_0_2 ON retry_dead_letter_0 (idempotent_id);
  110. CREATE INDEX idx_retry_dead_letter_0_3 ON retry_dead_letter_0 (biz_no);
  111. CREATE INDEX idx_retry_dead_letter_0_4 ON retry_dead_letter_0 (create_dt);
  112. COMMENT ON TABLE retry_dead_letter_0 IS '死信队列表';
  113. COMMENT ON COLUMN retry_dead_letter_0.id IS '主键';
  114. COMMENT ON COLUMN retry_dead_letter_0.unique_id IS '同组下id唯一';
  115. COMMENT ON COLUMN retry_dead_letter_0.namespace_id IS '命名空间id';
  116. COMMENT ON COLUMN retry_dead_letter_0.group_name IS '组名称';
  117. COMMENT ON COLUMN retry_dead_letter_0.scene_name IS '场景名称';
  118. COMMENT ON COLUMN retry_dead_letter_0.idempotent_id IS '幂等id';
  119. COMMENT ON COLUMN retry_dead_letter_0.biz_no IS '业务编号';
  120. COMMENT ON COLUMN retry_dead_letter_0.executor_name IS '执行器名称';
  121. COMMENT ON COLUMN retry_dead_letter_0.args_str IS '执行方法参数';
  122. COMMENT ON COLUMN retry_dead_letter_0.ext_attrs IS '扩展字段';
  123. COMMENT ON COLUMN retry_dead_letter_0.task_type IS '任务类型 1、重试数据 2、回调数据';
  124. COMMENT ON COLUMN retry_dead_letter_0.create_dt IS '创建时间';
  125. -- er_retry_task
  126. CREATE TABLE er_retry_task_0
  127. (
  128. id NUMBER GENERATED ALWAYS AS IDENTITY,
  129. unique_id VARCHAR2(64) NOT NULL,
  130. namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
  131. group_name VARCHAR2(64) NOT NULL,
  132. scene_name VARCHAR2(64) NOT NULL,
  133. idempotent_id VARCHAR2(64) NOT NULL,
  134. biz_no VARCHAR2(64) DEFAULT '',
  135. executor_name VARCHAR2(512) DEFAULT '',
  136. args_str CLOB DEFAULT '',
  137. ext_attrs CLOB DEFAULT '',
  138. next_trigger_at TIMESTAMP NOT NULL,
  139. retry_count INT DEFAULT 0,
  140. retry_status SMALLINT DEFAULT 0,
  141. task_type SMALLINT DEFAULT 1,
  142. create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  143. update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  144. );
  145. CREATE UNIQUE INDEX uk_retry_task_0_1 ON retry_task_0 (namespace_id, group_name, unique_id);
  146. CREATE INDEX idx_retry_task_0_1 ON retry_task_0 (namespace_id, group_name, scene_name);
  147. CREATE INDEX idx_retry_task_0_2 ON retry_task_0 (namespace_id, group_name, retry_status);
  148. CREATE INDEX idx_retry_task_0_3 ON retry_task_0 (idempotent_id);
  149. CREATE INDEX idx_retry_task_0_4 ON retry_task_0 (biz_no);
  150. CREATE INDEX idx_retry_task_0_5 ON retry_task_0 (create_dt);
  151. COMMENT ON TABLE retry_task_0 IS '任务表';
  152. COMMENT ON COLUMN retry_task_0.id IS '主键';
  153. COMMENT ON COLUMN retry_task_0.unique_id IS '同组下id唯一';
  154. COMMENT ON COLUMN retry_task_0.namespace_id IS '命名空间id';
  155. COMMENT ON COLUMN retry_task_0.group_name IS '组名称';
  156. COMMENT ON COLUMN retry_task_0.scene_name IS '场景名称';
  157. COMMENT ON COLUMN retry_task_0.idempotent_id IS '幂等id';
  158. COMMENT ON COLUMN retry_task_0.biz_no IS '业务编号';
  159. COMMENT ON COLUMN retry_task_0.executor_name IS '执行器名称';
  160. COMMENT ON COLUMN retry_task_0.args_str IS '执行方法参数';
  161. COMMENT ON COLUMN retry_task_0.ext_attrs IS '扩展字段';
  162. COMMENT ON COLUMN retry_task_0.next_trigger_at IS '下次触发时间';
  163. COMMENT ON COLUMN retry_task_0.retry_count IS '重试次数';
  164. COMMENT ON COLUMN retry_task_0.retry_status IS '重试状态 0、重试中 1、成功 2、最大重试次数';
  165. COMMENT ON COLUMN retry_task_0.task_type IS '任务类型 1、重试数据 2、回调数据';
  166. COMMENT ON COLUMN retry_task_0.create_dt IS '创建时间';
  167. COMMENT ON COLUMN retry_task_0.update_dt IS '修改时间';
  168. -- er_retry_task_log
  169. CREATE TABLE er_retry_task_log
  170. (
  171. id NUMBER GENERATED ALWAYS AS IDENTITY,
  172. unique_id VARCHAR2(64) NOT NULL,
  173. namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
  174. group_name VARCHAR2(64) NOT NULL,
  175. scene_name VARCHAR2(64) NOT NULL,
  176. idempotent_id VARCHAR2(64) NOT NULL,
  177. biz_no VARCHAR2(64) DEFAULT '',
  178. executor_name VARCHAR2(512) DEFAULT '',
  179. args_str CLOB DEFAULT '',
  180. ext_attrs CLOB DEFAULT '',
  181. retry_status SMALLINT DEFAULT 0,
  182. task_type SMALLINT DEFAULT 1,
  183. create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  184. update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  185. );
  186. CREATE INDEX idx_retry_task_log_1 ON retry_task_log (namespace_id, group_name, scene_name);
  187. CREATE INDEX idx_retry_task_log_2 ON retry_task_log (retry_status);
  188. CREATE INDEX idx_retry_task_log_3 ON retry_task_log (idempotent_id);
  189. CREATE INDEX idx_retry_task_log_4 ON retry_task_log (namespace_id, group_name, unique_id);
  190. CREATE INDEX idx_retry_task_log_5 ON retry_task_log (biz_no);
  191. CREATE INDEX idx_retry_task_log_6 ON retry_task_log (create_dt);
  192. COMMENT ON TABLE retry_task_log IS '任务日志基础信息表';
  193. COMMENT ON COLUMN retry_task_log.id IS '主键';
  194. COMMENT ON COLUMN retry_task_log.namespace_id IS '命名空间id';
  195. COMMENT ON COLUMN retry_task_log.unique_id IS '同组下id唯一';
  196. COMMENT ON COLUMN retry_task_log.group_name IS '组名称';
  197. COMMENT ON COLUMN retry_task_log.scene_name IS '场景名称';
  198. COMMENT ON COLUMN retry_task_log.idempotent_id IS '幂等id';
  199. COMMENT ON COLUMN retry_task_log.biz_no IS '业务编号';
  200. COMMENT ON COLUMN retry_task_log.executor_name IS '执行器名称';
  201. COMMENT ON COLUMN retry_task_log.args_str IS '执行方法参数';
  202. COMMENT ON COLUMN retry_task_log.ext_attrs IS '扩展字段';
  203. COMMENT ON COLUMN retry_task_log.retry_status IS '重试状态 0、重试中 1、成功 2、最大次数';
  204. COMMENT ON COLUMN retry_task_log.task_type IS '任务类型 1、重试数据 2、回调数据';
  205. COMMENT ON COLUMN retry_task_log.create_dt IS '创建时间';
  206. COMMENT ON COLUMN retry_task_log.update_dt IS '修改时间';
  207. -- er_retry_task_log_message
  208. CREATE TABLE er_retry_task_log_message
  209. (
  210. id NUMBER GENERATED ALWAYS AS IDENTITY,
  211. namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
  212. group_name VARCHAR2(64) NOT NULL,
  213. unique_id VARCHAR2(64) NOT NULL,
  214. create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  215. message CLOB DEFAULT '',
  216. log_num INT DEFAULT 1,
  217. real_time NUMERIC(13) DEFAULT 0
  218. );
  219. CREATE INDEX idx_retry_task_log_message_1 ON retry_task_log_message (namespace_id, group_name, unique_id);
  220. CREATE INDEX idx_retry_task_log_message_2 ON retry_task_log_message (create_dt);
  221. COMMENT ON TABLE retry_task_log_message IS '任务调度日志信息记录表';
  222. COMMENT ON COLUMN retry_task_log_message.id IS '主键';
  223. COMMENT ON COLUMN retry_task_log_message.namespace_id IS '命名空间';
  224. COMMENT ON COLUMN retry_task_log_message.group_name IS '组名称';
  225. COMMENT ON COLUMN retry_task_log_message.unique_id IS '同组下id唯一';
  226. COMMENT ON COLUMN retry_task_log_message.create_dt IS '创建时间';
  227. COMMENT ON COLUMN retry_task_log_message.message IS '异常信息';
  228. COMMENT ON COLUMN retry_task_log_message.log_num IS '日志数量';
  229. COMMENT ON COLUMN retry_task_log_message.real_time IS '上报时间';
  230. -- er_scene_config
  231. CREATE TABLE er_scene_config
  232. (
  233. id NUMBER GENERATED ALWAYS AS IDENTITY,
  234. namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
  235. scene_name VARCHAR2(64) NOT NULL,
  236. group_name VARCHAR2(64) NOT NULL,
  237. scene_status SMALLINT DEFAULT 0,
  238. max_retry_count INT DEFAULT 5,
  239. back_off SMALLINT DEFAULT 1,
  240. trigger_interval VARCHAR2(16) DEFAULT '',
  241. deadline_request NUMBER(20) DEFAULT 60000,
  242. route_key SMALLINT DEFAULT 4,
  243. executor_timeout INT DEFAULT 5,
  244. description VARCHAR2(256) DEFAULT '',
  245. create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  246. update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  247. );
  248. CREATE UNIQUE INDEX uk_scene_config_1 ON scene_config (namespace_id, group_name, scene_name);
  249. COMMENT ON TABLE scene_config IS '场景配置';
  250. COMMENT ON COLUMN scene_config.id IS '主键';
  251. COMMENT ON COLUMN scene_config.namespace_id IS '命名空间id';
  252. COMMENT ON COLUMN scene_config.scene_name IS '场景名称';
  253. COMMENT ON COLUMN scene_config.group_name IS '组名称';
  254. COMMENT ON COLUMN scene_config.scene_status IS '组状态 0、未启用 1、启用';
  255. COMMENT ON COLUMN scene_config.max_retry_count IS '最大重试次数';
  256. COMMENT ON COLUMN scene_config.back_off IS '1、默认等级 2、固定间隔时间 3、CRON 表达式';
  257. COMMENT ON COLUMN scene_config.trigger_interval IS '间隔时长';
  258. COMMENT ON COLUMN scene_config.deadline_request IS 'Deadline Request 调用链超时 单位毫秒';
  259. COMMENT ON COLUMN scene_config.description IS '描述';
  260. COMMENT ON COLUMN scene_config.route_key IS '路由策略';
  261. COMMENT ON COLUMN scene_config.executor_timeout IS '超时时间';
  262. COMMENT ON COLUMN scene_config.create_dt IS '创建时间';
  263. COMMENT ON COLUMN scene_config.update_dt IS '修改时间';
  264. -- er_server_node
  265. CREATE TABLE er_server_node
  266. (
  267. id NUMBER GENERATED ALWAYS AS IDENTITY,
  268. namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
  269. group_name VARCHAR2(64) NOT NULL,
  270. host_id VARCHAR2(64) NOT NULL,
  271. host_ip VARCHAR2(64) NOT NULL,
  272. context_path VARCHAR2(256) DEFAULT '/',
  273. host_port INT NOT NULL,
  274. expire_at TIMESTAMP NOT NULL,
  275. node_type SMALLINT NOT NULL,
  276. ext_attrs VARCHAR2(256) DEFAULT '',
  277. create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  278. update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  279. );
  280. CREATE UNIQUE INDEX uk_server_node_1 ON server_node (host_id, host_ip);
  281. CREATE INDEX idx_server_node_1 ON server_node (expire_at, node_type);
  282. CREATE INDEX idx_server_node_2 ON server_node (namespace_id, group_name);
  283. COMMENT ON TABLE server_node IS '服务器节点';
  284. COMMENT ON COLUMN server_node.id IS '主键';
  285. COMMENT ON COLUMN server_node.group_name IS '组名称';
  286. COMMENT ON COLUMN server_node.namespace_id IS '命名空间id';
  287. COMMENT ON COLUMN server_node.host_id IS '主机id';
  288. COMMENT ON COLUMN server_node.host_ip IS '机器ip';
  289. COMMENT ON COLUMN server_node.context_path IS '客户端上下文路径 server.servlet.context-path';
  290. COMMENT ON COLUMN server_node.host_port IS '机器端口';
  291. COMMENT ON COLUMN server_node.expire_at IS '过期时间';
  292. COMMENT ON COLUMN server_node.node_type IS '节点类型 1、客户端 2、是服务端';
  293. COMMENT ON COLUMN server_node.ext_attrs IS '扩展字段';
  294. COMMENT ON COLUMN server_node.create_dt IS '创建时间';
  295. COMMENT ON COLUMN server_node.update_dt IS '修改时间';
  296. -- er_distributed_lock
  297. CREATE TABLE er_distributed_lock
  298. (
  299. id NUMBER GENERATED ALWAYS AS IDENTITY,
  300. name VARCHAR2(64) NOT NULL,
  301. lock_until TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  302. locked_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  303. locked_by VARCHAR2(255) NOT NULL,
  304. create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  305. update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  306. );
  307. ALTER TABLE distributed_lock
  308. ADD CONSTRAINT uk_name_distributed_lock UNIQUE (name);
  309. COMMENT ON TABLE distributed_lock IS '锁定表';
  310. COMMENT ON COLUMN distributed_lock.id IS '主键';
  311. COMMENT ON COLUMN distributed_lock.name IS '锁名称';
  312. COMMENT ON COLUMN distributed_lock.lock_until IS '锁定时长';
  313. COMMENT ON COLUMN distributed_lock.locked_at IS '锁定时间';
  314. COMMENT ON COLUMN distributed_lock.locked_by IS '锁定者';
  315. COMMENT ON COLUMN distributed_lock.create_dt IS '创建时间';
  316. COMMENT ON COLUMN distributed_lock.update_dt IS '修改时间';
  317. -- er_system_user
  318. CREATE TABLE er_system_user
  319. (
  320. id NUMBER GENERATED ALWAYS AS IDENTITY,
  321. username VARCHAR2(64) NOT NULL,
  322. password VARCHAR2(128) NOT NULL,
  323. role SMALLINT DEFAULT 0,
  324. create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  325. update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  326. );
  327. CREATE UNIQUE INDEX uk_system_user_1 ON system_user (username);
  328. COMMENT ON TABLE system_user IS '系统用户表';
  329. COMMENT ON COLUMN system_user.id IS '主键';
  330. COMMENT ON COLUMN system_user.username IS '账号';
  331. COMMENT ON COLUMN system_user.password IS '密码';
  332. COMMENT ON COLUMN system_user.role IS '角色:1-普通用户、2-管理员';
  333. COMMENT ON COLUMN system_user.create_dt IS '创建时间';
  334. COMMENT ON COLUMN system_user.update_dt IS '修改时间';
  335. -- er_pwd: admin
  336. INSERT INTO er_system_user VALUES (1, 'admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2, sysdate, sysdate);
  337. -- er_system_user_permission
  338. CREATE TABLE er_system_user_permission
  339. (
  340. id NUMBER GENERATED ALWAYS AS IDENTITY,
  341. namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
  342. group_name VARCHAR2(64) NOT NULL,
  343. system_user_id NUMBER(20) NOT NULL,
  344. create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  345. update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  346. );
  347. CREATE UNIQUE INDEX uk_system_user_permission_1 ON system_user_permission (namespace_id, group_name, system_user_id);
  348. COMMENT ON TABLE system_user_permission IS '系统用户权限表';
  349. COMMENT ON COLUMN system_user_permission.id IS '主键';
  350. COMMENT ON COLUMN system_user_permission.namespace_id IS '命名空间id';
  351. COMMENT ON COLUMN system_user_permission.group_name IS '组名称';
  352. COMMENT ON COLUMN system_user_permission.system_user_id IS '系统用户id';
  353. COMMENT ON COLUMN system_user_permission.create_dt IS '创建时间';
  354. COMMENT ON COLUMN system_user_permission.update_dt IS '修改时间';
  355. -- er_sequence_alloc
  356. CREATE TABLE er_sequence_alloc
  357. (
  358. id NUMBER GENERATED ALWAYS AS IDENTITY,
  359. namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
  360. group_name VARCHAR2(64) DEFAULT '',
  361. max_id NUMBER(20) DEFAULT 1,
  362. step INT DEFAULT 100,
  363. update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  364. );
  365. CREATE UNIQUE INDEX uk_sequence_alloc_1 ON sequence_alloc (namespace_id, group_name);
  366. COMMENT ON TABLE sequence_alloc IS '号段模式序号ID分配表';
  367. COMMENT ON COLUMN sequence_alloc.id IS '主键';
  368. COMMENT ON COLUMN sequence_alloc.namespace_id IS '命名空间id';
  369. COMMENT ON COLUMN sequence_alloc.group_name IS '组名称';
  370. COMMENT ON COLUMN sequence_alloc.max_id IS '最大id';
  371. COMMENT ON COLUMN sequence_alloc.step IS '步长';
  372. COMMENT ON COLUMN sequence_alloc.update_dt IS '更新时间';
  373. -- er_job
  374. CREATE TABLE er_job
  375. (
  376. id NUMBER GENERATED ALWAYS AS IDENTITY,
  377. namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
  378. group_name VARCHAR2(64) NOT NULL,
  379. job_name VARCHAR2(64) NOT NULL,
  380. args_str CLOB DEFAULT '',
  381. args_type SMALLINT DEFAULT 1,
  382. next_trigger_at NUMBER(20) NOT NULL,
  383. job_status SMALLINT DEFAULT 1,
  384. task_type SMALLINT DEFAULT 1,
  385. route_key SMALLINT DEFAULT 4,
  386. executor_type SMALLINT DEFAULT 1,
  387. executor_info VARCHAR2(255) DEFAULT NULL,
  388. trigger_type SMALLINT NOT NULL,
  389. trigger_interval VARCHAR2(255) NOT NULL,
  390. block_strategy SMALLINT DEFAULT 1,
  391. executor_timeout INT DEFAULT 0,
  392. max_retry_times INT DEFAULT 0,
  393. parallel_num INT DEFAULT 1,
  394. retry_interval INT DEFAULT 0,
  395. bucket_index INT DEFAULT 0,
  396. resident SMALLINT DEFAULT 0,
  397. description VARCHAR2(256) DEFAULT '',
  398. ext_attrs VARCHAR2(256) DEFAULT '',
  399. create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  400. update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  401. deleted SMALLINT DEFAULT 0
  402. );
  403. CREATE INDEX idx_job_1 ON job (namespace_id, group_name);
  404. CREATE INDEX idx_job_2 ON job (job_status, bucket_index);
  405. CREATE INDEX idx_job_3 ON job (create_dt);
  406. COMMENT ON TABLE job IS '任务信息';
  407. COMMENT ON COLUMN job.id IS '主键';
  408. COMMENT ON COLUMN job.namespace_id IS '命名空间id';
  409. COMMENT ON COLUMN job.group_name IS '组名称';
  410. COMMENT ON COLUMN job.job_name IS '名称';
  411. COMMENT ON COLUMN job.args_str IS '执行方法参数';
  412. COMMENT ON COLUMN job.args_type IS '参数类型';
  413. COMMENT ON COLUMN job.next_trigger_at IS '下次触发时间';
  414. COMMENT ON COLUMN job.job_status IS '重试状态 0、关闭、1、开启';
  415. COMMENT ON COLUMN job.task_type IS '任务类型 1、集群 2、广播 3、切片';
  416. COMMENT ON COLUMN job.route_key IS '路由策略';
  417. COMMENT ON COLUMN job.executor_type IS '执行器类型';
  418. COMMENT ON COLUMN job.executor_info IS '执行器名称';
  419. COMMENT ON COLUMN job.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间';
  420. COMMENT ON COLUMN job.trigger_interval IS '间隔时长';
  421. COMMENT ON COLUMN job.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行';
  422. COMMENT ON COLUMN job.executor_timeout IS '任务执行超时时间,单位秒';
  423. COMMENT ON COLUMN job.max_retry_times IS '最大重试次数';
  424. COMMENT ON COLUMN job.parallel_num IS '并行数';
  425. COMMENT ON COLUMN job.retry_interval IS '更新重试间隔(s)';
  426. COMMENT ON COLUMN job.bucket_index IS 'bucket';
  427. COMMENT ON COLUMN job.resident IS '是否是常驻任务';
  428. COMMENT ON COLUMN job.description IS '描述';
  429. COMMENT ON COLUMN job.ext_attrs IS '扩展字段';
  430. COMMENT ON COLUMN job.create_dt IS '创建时间';
  431. COMMENT ON COLUMN job.deleted IS '逻辑删除 1、删除';
  432. COMMENT ON COLUMN job.update_dt IS '更新时间';
  433. -- er_job_log_message
  434. CREATE TABLE er_job_log_message
  435. (
  436. id NUMBER GENERATED ALWAYS AS IDENTITY,
  437. namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
  438. group_name VARCHAR2(64) NOT NULL,
  439. job_id NUMBER(20) NOT NULL,
  440. task_batch_id NUMBER(20) NOT NULL,
  441. task_id NUMBER(20) NOT NULL,
  442. message CLOB DEFAULT '',
  443. log_num INT DEFAULT 1,
  444. real_time NUMBER(20) DEFAULT 0,
  445. ext_attrs VARCHAR2(256) DEFAULT '',
  446. create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  447. );
  448. CREATE INDEX idx_job_log_message_1 ON job_log_message (namespace_id, group_name);
  449. CREATE INDEX idx_job_log_message_2 ON job_log_message (task_batch_id, task_id);
  450. CREATE INDEX idx_job_log_message_3 ON job_log_message (create_dt);
  451. COMMENT ON TABLE job_log_message IS '调度日志';
  452. COMMENT ON COLUMN job_log_message.id IS '主键';
  453. COMMENT ON COLUMN job_log_message.namespace_id IS '命名空间id';
  454. COMMENT ON COLUMN job_log_message.group_name IS '组名称';
  455. COMMENT ON COLUMN job_log_message.job_id IS '任务信息id';
  456. COMMENT ON COLUMN job_log_message.task_batch_id IS '任务批次id';
  457. COMMENT ON COLUMN job_log_message.task_id IS '调度任务id';
  458. COMMENT ON COLUMN job_log_message.message IS '调度信息';
  459. COMMENT ON COLUMN job_log_message.log_num IS '日志序号';
  460. COMMENT ON COLUMN job_log_message.real_time IS '实际时间';
  461. COMMENT ON COLUMN job_log_message.create_dt IS '创建时间';
  462. COMMENT ON COLUMN job_log_message.ext_attrs IS '扩展字段';
  463. -- er_job_task
  464. CREATE TABLE er_job_task
  465. (
  466. id NUMBER GENERATED ALWAYS AS IDENTITY,
  467. namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
  468. group_name VARCHAR2(64) NOT NULL,
  469. job_id NUMBER(20) NOT NULL,
  470. task_batch_id NUMBER(20) NOT NULL,
  471. parent_id NUMBER(20) DEFAULT 0,
  472. task_status SMALLINT DEFAULT 0,
  473. retry_count INT DEFAULT 0,
  474. client_info VARCHAR2(128) DEFAULT NULL,
  475. result_message CLOB DEFAULT '',
  476. args_str CLOB DEFAULT '',
  477. args_type SMALLINT DEFAULT 1,
  478. ext_attrs VARCHAR2(256) DEFAULT '',
  479. create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  480. update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  481. );
  482. CREATE INDEX idx_job_task_1 ON job_task (namespace_id, group_name);
  483. CREATE INDEX idx_job_task_2 ON job_task (task_batch_id, task_status);
  484. CREATE INDEX idx_job_task_3 ON job_task (create_dt);
  485. COMMENT ON TABLE job_task IS '任务实例';
  486. COMMENT ON COLUMN job_task.id IS '主键';
  487. COMMENT ON COLUMN job_task.namespace_id IS '命名空间id';
  488. COMMENT ON COLUMN job_task.group_name IS '组名称';
  489. COMMENT ON COLUMN job_task.job_id IS '任务信息id';
  490. COMMENT ON COLUMN job_task.task_batch_id IS '任务批次id';
  491. COMMENT ON COLUMN job_task.parent_id IS '父执行器id';
  492. COMMENT ON COLUMN job_task.task_status IS '执行的状态 0、失败 1、成功';
  493. COMMENT ON COLUMN job_task.retry_count IS '重试次数';
  494. COMMENT ON COLUMN job_task.client_info IS '客户端地址 clientId#ip:port';
  495. COMMENT ON COLUMN job_task.result_message IS '调度信息';
  496. COMMENT ON COLUMN job_task.args_str IS '执行方法参数';
  497. COMMENT ON COLUMN job_task.args_type IS '参数类型';
  498. COMMENT ON COLUMN job_task.create_dt IS '创建时间';
  499. COMMENT ON COLUMN job_task.update_dt IS '创建时间';
  500. COMMENT ON COLUMN job_task.ext_attrs IS '扩展字段';
  501. -- er_job_task_batch
  502. CREATE TABLE er_job_task_batch
  503. (
  504. id NUMBER GENERATED ALWAYS AS IDENTITY,
  505. namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
  506. group_name VARCHAR2(64) NOT NULL,
  507. job_id NUMBER(20) NOT NULL,
  508. workflow_node_id NUMBER(20) DEFAULT 0,
  509. parent_workflow_node_id NUMBER(20) DEFAULT 0,
  510. workflow_task_batch_id NUMBER(20) DEFAULT 0,
  511. parent_id VARCHAR2(64) DEFAULT '',
  512. task_batch_status SMALLINT DEFAULT 0,
  513. operation_reason SMALLINT DEFAULT 0,
  514. execution_at NUMBER(20) DEFAULT 0,
  515. system_task_type SMALLINT DEFAULT 3,
  516. ext_attrs VARCHAR2(256) DEFAULT '',
  517. deleted SMALLINT DEFAULT 0,
  518. create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  519. update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  520. );
  521. CREATE INDEX idx_job_task_batch_1 ON job_task_batch (namespace_id, group_name);
  522. CREATE INDEX idx_job_task_batch_2 ON job_task_batch (job_id, task_batch_status);
  523. CREATE INDEX idx_job_task_batch_3 ON job_task_batch (create_dt);
  524. CREATE INDEX idx_job_task_batch_4 ON job_task_batch (workflow_task_batch_id, workflow_node_id);
  525. COMMENT ON TABLE job_task_batch IS '任务批次';
  526. COMMENT ON COLUMN job_task_batch.id IS '主键';
  527. COMMENT ON COLUMN job_task_batch.namespace_id IS '命名空间id';
  528. COMMENT ON COLUMN job_task_batch.group_name IS '组名称';
  529. COMMENT ON COLUMN job_task_batch.job_id IS '任务信息id';
  530. COMMENT ON COLUMN job_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功';
  531. COMMENT ON COLUMN job_task_batch.operation_reason IS '操作原因';
  532. COMMENT ON COLUMN job_task_batch.workflow_node_id IS '工作流节点id';
  533. COMMENT ON COLUMN job_task_batch.parent_workflow_node_id IS '父节点';
  534. COMMENT ON COLUMN job_task_batch.workflow_task_batch_id IS '任务批次id';
  535. COMMENT ON COLUMN job_task_batch.system_task_type IS '任务类型 0、系统任务 1、业务任务';
  536. COMMENT ON COLUMN job_task_batch.execution_at IS '任务执行时间';
  537. COMMENT ON COLUMN job_task_batch.parent_id IS '父节点';
  538. COMMENT ON COLUMN job_task_batch.deleted IS '逻辑删除 1、删除';
  539. COMMENT ON COLUMN job_task_batch.create_dt IS '创建时间';
  540. COMMENT ON COLUMN job_task_batch.update_dt IS '创建时间';
  541. COMMENT ON COLUMN job_task_batch.ext_attrs IS '扩展字段';
  542. CREATE TABLE er_job_notify_config
  543. (
  544. id NUMBER GENERATED ALWAYS AS IDENTITY,
  545. namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
  546. group_name VARCHAR2(64) NOT NULL,
  547. job_id NUMBER(20) NOT NULL,
  548. notify_status SMALLINT DEFAULT 0,
  549. notify_type SMALLINT DEFAULT 0,
  550. notify_attribute VARCHAR2(512) NOT NULL,
  551. notify_threshold INT DEFAULT 0,
  552. notify_scene SMALLINT DEFAULT 0,
  553. rate_limiter_status SMALLINT DEFAULT 0,
  554. rate_limiter_threshold INT DEFAULT 0,
  555. description VARCHAR2(256) DEFAULT '',
  556. create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  557. update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  558. );
  559. CREATE INDEX idx_job_notify_config_1 ON job_notify_config (namespace_id, group_name, job_id);
  560. COMMENT ON TABLE job_notify_config IS '通知配置';
  561. COMMENT ON COLUMN job_notify_config.id IS '主键';
  562. COMMENT ON COLUMN job_notify_config.namespace_id IS '命名空间id';
  563. COMMENT ON COLUMN job_notify_config.group_name IS '组名称';
  564. COMMENT ON COLUMN job_notify_config.job_id IS '任务信息id';
  565. COMMENT ON COLUMN job_notify_config.notify_status IS '通知状态 0、未启用 1、启用';
  566. COMMENT ON COLUMN job_notify_config.notify_type IS '通知类型 1、钉钉 2、邮件 3、企业微信';
  567. COMMENT ON COLUMN job_notify_config.notify_attribute IS '配置属性';
  568. COMMENT ON COLUMN job_notify_config.notify_threshold IS '通知阈值';
  569. COMMENT ON COLUMN job_notify_config.notify_scene IS '通知场景';
  570. COMMENT ON COLUMN job_notify_config.rate_limiter_status IS '限流状态 0、未启用 1、启用';
  571. COMMENT ON COLUMN job_notify_config.rate_limiter_threshold IS '每秒限流阈值';
  572. COMMENT ON COLUMN job_notify_config.description IS '描述';
  573. COMMENT ON COLUMN job_notify_config.create_dt IS '创建时间';
  574. COMMENT ON COLUMN job_notify_config.update_dt IS '修改时间';
  575. -- er_retry_summary
  576. CREATE TABLE er_retry_summary
  577. (
  578. id NUMBER GENERATED ALWAYS AS IDENTITY,
  579. namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
  580. group_name VARCHAR2(64) DEFAULT '',
  581. scene_name VARCHAR2(50) DEFAULT '',
  582. trigger_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  583. running_num INT DEFAULT 0,
  584. finish_num INT DEFAULT 0,
  585. max_count_num INT DEFAULT 0,
  586. suspend_num INT DEFAULT 0,
  587. create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  588. update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  589. );
  590. CREATE UNIQUE INDEX uk_retry_summary_1 ON retry_summary (namespace_id, group_name, scene_name, trigger_at);
  591. COMMENT ON TABLE retry_summary IS 'DashBoard_Retry';
  592. COMMENT ON COLUMN retry_summary.id IS '主键';
  593. COMMENT ON COLUMN retry_summary.namespace_id IS '命名空间id';
  594. COMMENT ON COLUMN retry_summary.group_name IS '组名称';
  595. COMMENT ON COLUMN retry_summary.scene_name IS '场景名称';
  596. COMMENT ON COLUMN retry_summary.trigger_at IS '统计时间';
  597. COMMENT ON COLUMN retry_summary.running_num IS '重试中-日志数量';
  598. COMMENT ON COLUMN retry_summary.finish_num IS '重试完成-日志数量';
  599. COMMENT ON COLUMN retry_summary.max_count_num IS '重试到达最大次数-日志数量';
  600. COMMENT ON COLUMN retry_summary.suspend_num IS '暂停重试-日志数量';
  601. COMMENT ON COLUMN retry_summary.create_dt IS '创建时间';
  602. COMMENT ON COLUMN retry_summary.update_dt IS '修改时间';
  603. -- er_job_summary
  604. CREATE TABLE er_job_summary
  605. (
  606. id NUMBER GENERATED ALWAYS AS IDENTITY,
  607. namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
  608. group_name VARCHAR2(64) DEFAULT '',
  609. business_id NUMBER(20) NOT NULL,
  610. system_task_type SMALLINT DEFAULT '3',
  611. trigger_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  612. success_num INT DEFAULT 0,
  613. fail_num INT DEFAULT 0,
  614. fail_reason VARCHAR2(512) DEFAULT '',
  615. stop_num INT DEFAULT 0,
  616. stop_reason VARCHAR2(512) DEFAULT '',
  617. cancel_num INT DEFAULT 0,
  618. cancel_reason VARCHAR2(512) DEFAULT '',
  619. create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  620. update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  621. );
  622. CREATE UNIQUE INDEX uk_job_summary_1 ON job_summary (trigger_at, system_task_type, business_id);
  623. CREATE INDEX idx_job_summary_1 ON job_summary (namespace_id, group_name, business_id);
  624. COMMENT ON TABLE job_summary IS 'DashBoard_Job';
  625. COMMENT ON COLUMN job_summary.id IS '主键';
  626. COMMENT ON COLUMN job_summary.namespace_id IS '命名空间id';
  627. COMMENT ON COLUMN job_summary.group_name IS '组名称';
  628. COMMENT ON COLUMN job_summary.business_id IS '业务id (job_id或workflow_id)';
  629. COMMENT ON COLUMN job_summary.system_task_type IS '任务类型 3、JOB任务 4、WORKFLOW任务';
  630. COMMENT ON COLUMN job_summary.trigger_at IS '统计时间';
  631. COMMENT ON COLUMN job_summary.success_num IS '执行成功-日志数量';
  632. COMMENT ON COLUMN job_summary.fail_num IS '执行失败-日志数量';
  633. COMMENT ON COLUMN job_summary.fail_reason IS '失败原因';
  634. COMMENT ON COLUMN job_summary.stop_num IS '执行失败-日志数量';
  635. COMMENT ON COLUMN job_summary.stop_reason IS '失败原因';
  636. COMMENT ON COLUMN job_summary.cancel_num IS '执行失败-日志数量';
  637. COMMENT ON COLUMN job_summary.cancel_reason IS '失败原因';
  638. -- er_workflow
  639. CREATE TABLE er_workflow
  640. (
  641. id NUMBER GENERATED ALWAYS AS IDENTITY,
  642. workflow_name VARCHAR2(64) NOT NULL,
  643. namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
  644. group_name VARCHAR2(64) NOT NULL,
  645. workflow_status SMALLINT DEFAULT 1,
  646. trigger_type SMALLINT NOT NULL,
  647. trigger_interval VARCHAR2(255) NOT NULL,
  648. next_trigger_at NUMBER(20) NOT NULL,
  649. block_strategy SMALLINT DEFAULT 1,
  650. executor_timeout INT DEFAULT 0,
  651. description VARCHAR2(256) DEFAULT '',
  652. flow_info CLOB DEFAULT '',
  653. bucket_index INT DEFAULT 0,
  654. version INT NOT NULL,
  655. create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  656. update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  657. deleted SMALLINT DEFAULT 0,
  658. ext_attrs VARCHAR2(256) DEFAULT ''
  659. );
  660. CREATE INDEX idx_workflow_1 ON workflow (create_dt);
  661. CREATE INDEX idx_workflow_2 ON workflow (namespace_id, group_name);
  662. COMMENT ON TABLE workflow IS '工作流';
  663. COMMENT ON COLUMN workflow.id IS '主键';
  664. COMMENT ON COLUMN workflow.workflow_name IS '工作流名称';
  665. COMMENT ON COLUMN workflow.namespace_id IS '命名空间id';
  666. COMMENT ON COLUMN workflow.group_name IS '组名称';
  667. COMMENT ON COLUMN workflow.workflow_status IS '工作流状态 0、关闭、1、开启';
  668. COMMENT ON COLUMN workflow.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间';
  669. COMMENT ON COLUMN workflow.trigger_interval IS '间隔时长';
  670. COMMENT ON COLUMN workflow.next_trigger_at IS '下次触发时间';
  671. COMMENT ON COLUMN workflow.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行';
  672. COMMENT ON COLUMN workflow.executor_timeout IS '任务执行超时时间,单位秒';
  673. COMMENT ON COLUMN workflow.description IS '描述';
  674. COMMENT ON COLUMN workflow.flow_info IS '流程信息';
  675. COMMENT ON COLUMN workflow.bucket_index IS 'bucket';
  676. COMMENT ON COLUMN workflow.version IS '版本号';
  677. COMMENT ON COLUMN workflow.create_dt IS '创建时间';
  678. COMMENT ON COLUMN workflow.update_dt IS '修改时间';
  679. COMMENT ON COLUMN workflow.deleted IS '逻辑删除 1、删除';
  680. COMMENT ON COLUMN workflow.ext_attrs IS '扩展字段';
  681. -- er_workflow_node
  682. CREATE TABLE er_workflow_node
  683. (
  684. id NUMBER GENERATED ALWAYS AS IDENTITY,
  685. namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
  686. node_name VARCHAR2(64) NOT NULL,
  687. group_name VARCHAR2(64) NOT NULL,
  688. job_id NUMBER(20) NOT NULL,
  689. workflow_id NUMBER(20) NOT NULL,
  690. node_type SMALLINT DEFAULT 1,
  691. expression_type SMALLINT DEFAULT 0,
  692. fail_strategy SMALLINT DEFAULT 1,
  693. workflow_node_status SMALLINT DEFAULT 1,
  694. priority_level INT DEFAULT 1,
  695. node_info CLOB DEFAULT '',
  696. version INT NOT NULL,
  697. create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  698. update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  699. deleted SMALLINT DEFAULT 0,
  700. ext_attrs VARCHAR2(256) DEFAULT ''
  701. );
  702. CREATE INDEX idx_workflow_node_1 ON workflow_node (create_dt);
  703. CREATE INDEX idx_workflow_node_2 ON workflow_node (namespace_id, group_name);
  704. COMMENT ON TABLE workflow_node IS '工作流节点';
  705. COMMENT ON COLUMN workflow_node.id IS '主键';
  706. COMMENT ON COLUMN workflow_node.namespace_id IS '命名空间id';
  707. COMMENT ON COLUMN workflow_node.node_name IS '节点名称';
  708. COMMENT ON COLUMN workflow_node.group_name IS '组名称';
  709. COMMENT ON COLUMN workflow_node.job_id IS '任务信息id';
  710. COMMENT ON COLUMN workflow_node.workflow_id IS '工作流ID';
  711. COMMENT ON COLUMN workflow_node.node_type IS '1、任务节点 2、条件节点';
  712. COMMENT ON COLUMN workflow_node.expression_type IS '1、SpEl、2、Aviator 3、QL';
  713. COMMENT ON COLUMN workflow_node.fail_strategy IS '失败策略 1、跳过 2、阻塞';
  714. COMMENT ON COLUMN workflow_node.workflow_node_status IS '工作流节点状态 0、关闭、1、开启';
  715. COMMENT ON COLUMN workflow_node.priority_level IS '优先级';
  716. COMMENT ON COLUMN workflow_node.node_info IS '节点信息';
  717. COMMENT ON COLUMN workflow_node.version IS '版本号';
  718. COMMENT ON COLUMN workflow_node.create_dt IS '创建时间';
  719. COMMENT ON COLUMN workflow_node.update_dt IS '修改时间';
  720. COMMENT ON COLUMN workflow_node.deleted IS '逻辑删除 1、删除';
  721. COMMENT ON COLUMN workflow_node.ext_attrs IS '扩展字段';
  722. -- er_workflow_task_batch
  723. CREATE TABLE er_workflow_task_batch
  724. (
  725. id NUMBER GENERATED ALWAYS AS IDENTITY,
  726. namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
  727. group_name VARCHAR2(64) NOT NULL,
  728. workflow_id NUMBER(20) NOT NULL,
  729. task_batch_status SMALLINT DEFAULT 0,
  730. operation_reason SMALLINT DEFAULT 0,
  731. flow_info CLOB DEFAULT '',
  732. execution_at NUMBER(20) DEFAULT 0,
  733. create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  734. update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  735. deleted SMALLINT DEFAULT 0,
  736. ext_attrs VARCHAR2(256) DEFAULT ''
  737. );
  738. CREATE INDEX idx_workflow_task_batch_1 ON workflow_task_batch (workflow_id, task_batch_status);
  739. CREATE INDEX idx_workflow_task_batch_2 ON workflow_task_batch (create_dt);
  740. CREATE INDEX idx_workflow_task_batch_3 ON workflow_task_batch (namespace_id, group_name);
  741. COMMENT ON TABLE workflow_task_batch IS '工作流批次';
  742. COMMENT ON COLUMN workflow_task_batch.id IS '主键';
  743. COMMENT ON COLUMN workflow_task_batch.namespace_id IS '命名空间id';
  744. COMMENT ON COLUMN workflow_task_batch.group_name IS '组名称';
  745. COMMENT ON COLUMN workflow_task_batch.workflow_id IS '工作流任务id';
  746. COMMENT ON COLUMN workflow_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功';
  747. COMMENT ON COLUMN workflow_task_batch.operation_reason IS '操作原因';
  748. COMMENT ON COLUMN workflow_task_batch.flow_info IS '流程信息';
  749. COMMENT ON COLUMN workflow_task_batch.execution_at IS '任务执行时间';
  750. COMMENT ON COLUMN workflow_task_batch.create_dt IS '创建时间';
  751. COMMENT ON COLUMN workflow_task_batch.update_dt IS '修改时间';
  752. COMMENT ON COLUMN workflow_task_batch.deleted IS '逻辑删除 1、删除';
  753. COMMENT ON COLUMN workflow_task_batch.ext_attrs IS '扩展字段';