easy_retry.sql 43 KB

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