easy_retry_postgre.sql 43 KB

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