quartz_dm.sql 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS;
  2. DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS;
  3. DROP TABLE IF EXISTS QRTZ_SCHEDULER_STATE;
  4. DROP TABLE IF EXISTS QRTZ_LOCKS;
  5. DROP TABLE IF EXISTS QRTZ_SIMPLE_TRIGGERS;
  6. DROP TABLE IF EXISTS QRTZ_SIMPROP_TRIGGERS;
  7. DROP TABLE IF EXISTS QRTZ_CRON_TRIGGERS;
  8. DROP TABLE IF EXISTS QRTZ_BLOB_TRIGGERS;
  9. DROP TABLE IF EXISTS QRTZ_TRIGGERS;
  10. DROP TABLE IF EXISTS QRTZ_JOB_DETAILS;
  11. DROP TABLE IF EXISTS QRTZ_CALENDARS;
  12. -- ----------------------------
  13. -- 1、存储每一个已配置的 jobDetail 的详细信息
  14. -- ----------------------------
  15. create table QRTZ_JOB_DETAILS (
  16. sched_name varchar(120) not null,
  17. job_name varchar(200) not null,
  18. job_group varchar(200) not null,
  19. description varchar(250) null,
  20. job_class_name varchar(250) not null,
  21. is_durable varchar(1) not null,
  22. is_nonconcurrent varchar(1) not null,
  23. is_update_data varchar(1) not null,
  24. requests_recovery varchar(1) not null,
  25. job_data blob null,
  26. primary key (sched_name, job_name, job_group)
  27. );
  28. COMMENT ON TABLE QRTZ_JOB_DETAILS IS '任务详细信息表';
  29. COMMENT ON COLUMN QRTZ_JOB_DETAILS.sched_name IS '调度名称';
  30. COMMENT ON COLUMN QRTZ_JOB_DETAILS.job_name IS '任务名称';
  31. COMMENT ON COLUMN QRTZ_JOB_DETAILS.job_group IS '任务组名';
  32. COMMENT ON COLUMN QRTZ_JOB_DETAILS.description IS '相关介绍';
  33. COMMENT ON COLUMN QRTZ_JOB_DETAILS.job_class_name IS '执行任务类名称';
  34. COMMENT ON COLUMN QRTZ_JOB_DETAILS.is_durable IS '是否持久化';
  35. COMMENT ON COLUMN QRTZ_JOB_DETAILS.is_nonconcurrent IS '是否并发';
  36. COMMENT ON COLUMN QRTZ_JOB_DETAILS.is_update_data IS '是否更新数据';
  37. COMMENT ON COLUMN QRTZ_JOB_DETAILS.requests_recovery IS '是否接受恢复执行';
  38. COMMENT ON COLUMN QRTZ_JOB_DETAILS.job_data IS '存放持久化job对象';
  39. -- ----------------------------
  40. -- 2、 存储已配置的 Trigger 的信息
  41. -- ----------------------------
  42. create table QRTZ_TRIGGERS (
  43. sched_name varchar(120) not null,
  44. trigger_name varchar(200) not null,
  45. trigger_group varchar(200) not null,
  46. job_name varchar(200) not null,
  47. job_group varchar(200) not null,
  48. description varchar(250) null,
  49. next_fire_time bigint null,
  50. prev_fire_time bigint null,
  51. priority integer null,
  52. trigger_state varchar(16) not null,
  53. trigger_type varchar(8) not null,
  54. start_time bigint not null,
  55. end_time bigint null,
  56. calendar_name varchar(200) null,
  57. misfire_instr smallint null,
  58. job_data blob null,
  59. primary key (sched_name, trigger_name, trigger_group),
  60. foreign key (sched_name, job_name, job_group) references QRTZ_JOB_DETAILS(sched_name, job_name, job_group)
  61. );
  62. COMMENT ON TABLE QRTZ_TRIGGERS IS '触发器详细信息表';
  63. COMMENT ON COLUMN QRTZ_TRIGGERS.sched_name IS '调度名称';
  64. COMMENT ON COLUMN QRTZ_TRIGGERS.trigger_name IS '触发器的名字';
  65. COMMENT ON COLUMN QRTZ_TRIGGERS.trigger_group IS '触发器所属组的名字';
  66. COMMENT ON COLUMN QRTZ_TRIGGERS.job_name IS 'qrtz_job_details表job_name的外键';
  67. COMMENT ON COLUMN QRTZ_TRIGGERS.job_group IS 'qrtz_job_details表job_group的外键';
  68. COMMENT ON COLUMN QRTZ_TRIGGERS.description IS '相关介绍';
  69. COMMENT ON COLUMN QRTZ_TRIGGERS.next_fire_time IS '上一次触发时间(毫秒)';
  70. COMMENT ON COLUMN QRTZ_TRIGGERS.prev_fire_time IS '下一次触发时间(默认为-1表示不触发)';
  71. COMMENT ON COLUMN QRTZ_TRIGGERS.priority IS '优先级';
  72. COMMENT ON COLUMN QRTZ_TRIGGERS.trigger_state IS '触发器状态';
  73. COMMENT ON COLUMN QRTZ_TRIGGERS.trigger_type IS '触发器的类型';
  74. COMMENT ON COLUMN QRTZ_TRIGGERS.start_time IS '开始时间';
  75. COMMENT ON COLUMN QRTZ_TRIGGERS.end_time IS '结束时间';
  76. COMMENT ON COLUMN QRTZ_TRIGGERS.calendar_name IS '日程表名称';
  77. COMMENT ON COLUMN QRTZ_TRIGGERS.misfire_instr IS '补偿执行的策略';
  78. COMMENT ON COLUMN QRTZ_TRIGGERS.job_data IS '存放持久化job对象';
  79. -- ----------------------------
  80. -- 3、 存储简单的 Trigger,包括重复次数,间隔,以及已触发的次数
  81. -- ----------------------------
  82. create table QRTZ_SIMPLE_TRIGGERS (
  83. sched_name varchar(120) not null,
  84. trigger_name varchar(200) not null,
  85. trigger_group varchar(200) not null,
  86. repeat_count bigint not null,
  87. repeat_interval bigint not null,
  88. times_triggered bigint not null,
  89. primary key (sched_name, trigger_name, trigger_group),
  90. foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group)
  91. );
  92. COMMENT ON TABLE QRTZ_SIMPLE_TRIGGERS IS '简单触发器的信息表';
  93. COMMENT ON COLUMN QRTZ_SIMPLE_TRIGGERS.sched_name IS '调度名称';
  94. COMMENT ON COLUMN QRTZ_SIMPLE_TRIGGERS.trigger_name IS 'qrtz_triggers表trigger_name的外键';
  95. COMMENT ON COLUMN QRTZ_SIMPLE_TRIGGERS.trigger_group IS 'qrtz_triggers表trigger_group的外键';
  96. COMMENT ON COLUMN QRTZ_SIMPLE_TRIGGERS.repeat_count IS '重复的次数统计';
  97. COMMENT ON COLUMN QRTZ_SIMPLE_TRIGGERS.repeat_interval IS '重复的间隔时间';
  98. COMMENT ON COLUMN QRTZ_SIMPLE_TRIGGERS.times_triggered IS '已经触发的次数';
  99. -- ----------------------------
  100. -- 4、 存储 Cron Trigger,包括 Cron 表达式和时区信息
  101. -- ----------------------------
  102. create table QRTZ_CRON_TRIGGERS (
  103. sched_name varchar(120) not null,
  104. trigger_name varchar(200) not null,
  105. trigger_group varchar(200) not null,
  106. cron_expression varchar(200) not null,
  107. time_zone_id varchar(80),
  108. primary key (sched_name, trigger_name, trigger_group),
  109. foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group)
  110. );
  111. COMMENT ON TABLE QRTZ_CRON_TRIGGERS IS 'Cron类型的触发器表';
  112. COMMENT ON COLUMN QRTZ_CRON_TRIGGERS.sched_name IS '调度名称';
  113. COMMENT ON COLUMN QRTZ_CRON_TRIGGERS.trigger_name IS 'qrtz_triggers表trigger_name的外键';
  114. COMMENT ON COLUMN QRTZ_CRON_TRIGGERS.trigger_group IS 'qrtz_triggers表trigger_group的外键';
  115. COMMENT ON COLUMN QRTZ_CRON_TRIGGERS.cron_expression IS 'cron表达式';
  116. COMMENT ON COLUMN QRTZ_CRON_TRIGGERS.time_zone_id IS '时区';
  117. -- ----------------------------
  118. -- 5、 Trigger 作为 Blob 类型存储(用于 Quartz 用户用 JDBC 创建他们自己定制的 Trigger 类型,JobStore 并不知道如何存储实例的时候)
  119. -- ----------------------------
  120. create table QRTZ_BLOB_TRIGGERS (
  121. sched_name varchar(120) not null,
  122. trigger_name varchar(200) not null,
  123. trigger_group varchar(200) not null,
  124. blob_data blob null,
  125. primary key (sched_name, trigger_name, trigger_group),
  126. foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group)
  127. );
  128. COMMENT ON TABLE QRTZ_BLOB_TRIGGERS IS 'Blob类型的触发器表';
  129. COMMENT ON COLUMN QRTZ_BLOB_TRIGGERS.sched_name IS '调度名称';
  130. COMMENT ON COLUMN QRTZ_BLOB_TRIGGERS.trigger_name IS 'qrtz_triggers表trigger_name的外键';
  131. COMMENT ON COLUMN QRTZ_BLOB_TRIGGERS.trigger_group IS 'qrtz_triggers表trigger_group的外键';
  132. COMMENT ON COLUMN QRTZ_BLOB_TRIGGERS.blob_data IS '存放持久化Trigger对象';
  133. -- ----------------------------
  134. -- 6、 以 Blob 类型存储存放日历信息, quartz可配置一个日历来指定一个时间范围
  135. -- ----------------------------
  136. create table QRTZ_CALENDARS (
  137. sched_name varchar(120) not null,
  138. calendar_name varchar(200) not null,
  139. calendar blob not null,
  140. primary key (sched_name, calendar_name)
  141. );
  142. COMMENT ON TABLE QRTZ_CALENDARS IS '日历信息表';
  143. COMMENT ON COLUMN QRTZ_CALENDARS.sched_name IS '调度名称';
  144. COMMENT ON COLUMN QRTZ_CALENDARS.calendar_name IS '日历名称';
  145. COMMENT ON COLUMN QRTZ_CALENDARS.calendar IS '存放持久化calendar对象';
  146. -- ----------------------------
  147. -- 7、 存储已暂停的 Trigger 组的信息
  148. -- ----------------------------
  149. create table QRTZ_PAUSED_TRIGGER_GRPS (
  150. sched_name varchar(120) not null,
  151. trigger_group varchar(200) not null,
  152. primary key (sched_name, trigger_group)
  153. );
  154. COMMENT ON TABLE QRTZ_PAUSED_TRIGGER_GRPS IS '暂停的触发器表';
  155. COMMENT ON COLUMN QRTZ_PAUSED_TRIGGER_GRPS.sched_name IS '调度名称';
  156. COMMENT ON COLUMN QRTZ_PAUSED_TRIGGER_GRPS.trigger_group IS 'qrtz_triggers表trigger_group的外键';
  157. -- ----------------------------
  158. -- 8、 存储与已触发的 Trigger 相关的状态信息,以及相联 Job 的执行信息
  159. -- ----------------------------
  160. create table QRTZ_FIRED_TRIGGERS (
  161. sched_name varchar(120) not null,
  162. entry_id varchar(95) not null,
  163. trigger_name varchar(200) not null,
  164. trigger_group varchar(200) not null,
  165. instance_name varchar(200) not null,
  166. fired_time bigint not null,
  167. sched_time bigint not null,
  168. priority integer not null,
  169. state varchar(16) not null,
  170. job_name varchar(200) null,
  171. job_group varchar(200) null,
  172. is_nonconcurrent varchar(1) null,
  173. requests_recovery varchar(1) null,
  174. primary key (sched_name, entry_id)
  175. );
  176. COMMENT ON TABLE QRTZ_FIRED_TRIGGERS IS '已触发的触发器表';
  177. COMMENT ON COLUMN QRTZ_FIRED_TRIGGERS.sched_name IS '调度名称';
  178. COMMENT ON COLUMN QRTZ_FIRED_TRIGGERS.entry_id IS '调度器实例id';
  179. COMMENT ON COLUMN QRTZ_FIRED_TRIGGERS.trigger_name IS 'qrtz_triggers表trigger_name的外键';
  180. COMMENT ON COLUMN QRTZ_FIRED_TRIGGERS.trigger_group IS 'qrtz_triggers表trigger_group的外键';
  181. COMMENT ON COLUMN QRTZ_FIRED_TRIGGERS.instance_name IS '调度器实例名';
  182. COMMENT ON COLUMN QRTZ_FIRED_TRIGGERS.fired_time IS '触发的时间';
  183. COMMENT ON COLUMN QRTZ_FIRED_TRIGGERS.sched_time IS '定时器制定的时间';
  184. COMMENT ON COLUMN QRTZ_FIRED_TRIGGERS.priority IS '优先级';
  185. COMMENT ON COLUMN QRTZ_FIRED_TRIGGERS.state IS '状态';
  186. COMMENT ON COLUMN QRTZ_FIRED_TRIGGERS.job_name IS '任务名称';
  187. COMMENT ON COLUMN QRTZ_FIRED_TRIGGERS.job_group IS '任务组名';
  188. COMMENT ON COLUMN QRTZ_FIRED_TRIGGERS.is_nonconcurrent IS '是否并发';
  189. COMMENT ON COLUMN QRTZ_FIRED_TRIGGERS.requests_recovery IS '是否接受恢复执行';
  190. -- ----------------------------
  191. -- 9、 存储少量的有关 Scheduler 的状态信息,假如是用于集群中,可以看到其他的 Scheduler 实例
  192. -- ----------------------------
  193. create table QRTZ_SCHEDULER_STATE (
  194. sched_name varchar(120) not null,
  195. instance_name varchar(200) not null,
  196. last_checkin_time bigint not null,
  197. checkin_interval bigint not null,
  198. primary key (sched_name, instance_name)
  199. );
  200. COMMENT ON TABLE QRTZ_SCHEDULER_STATE IS '调度器状态表';
  201. COMMENT ON COLUMN QRTZ_SCHEDULER_STATE.sched_name IS '调度名称';
  202. COMMENT ON COLUMN QRTZ_SCHEDULER_STATE.instance_name IS '实例名称';
  203. COMMENT ON COLUMN QRTZ_SCHEDULER_STATE.last_checkin_time IS '上次检查时间';
  204. COMMENT ON COLUMN QRTZ_SCHEDULER_STATE.checkin_interval IS '检查间隔时间';
  205. -- ----------------------------
  206. -- 10、 存储程序的悲观锁的信息(假如使用了悲观锁)
  207. -- ----------------------------
  208. create table QRTZ_LOCKS (
  209. sched_name varchar(120) not null,
  210. lock_name varchar(40) not null,
  211. primary key (sched_name, lock_name)
  212. );
  213. COMMENT ON TABLE QRTZ_LOCKS IS '存储的悲观锁信息表';
  214. COMMENT ON COLUMN QRTZ_LOCKS.sched_name IS '调度名称';
  215. COMMENT ON COLUMN QRTZ_LOCKS.lock_name IS '悲观锁名称';
  216. -- ----------------------------
  217. -- 11、 Quartz集群实现同步机制的行锁表
  218. -- ----------------------------
  219. create table QRTZ_SIMPROP_TRIGGERS (
  220. sched_name varchar(120) not null,
  221. trigger_name varchar(200) not null,
  222. trigger_group varchar(200) not null,
  223. str_prop_1 varchar(512) null,
  224. str_prop_2 varchar(512) null,
  225. str_prop_3 varchar(512) null,
  226. int_prop_1 int null,
  227. int_prop_2 int null,
  228. long_prop_1 bigint null,
  229. long_prop_2 bigint null,
  230. dec_prop_1 numeric(13 ,4) null,
  231. dec_prop_2 numeric(13 ,4) null,
  232. bool_prop_1 varchar(1) null,
  233. bool_prop_2 varchar(1) null,
  234. primary key (sched_name, trigger_name, trigger_group),
  235. foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group)
  236. );
  237. COMMENT ON TABLE QRTZ_SIMPROP_TRIGGERS IS '同步机制的行锁表';
  238. COMMENT ON COLUMN QRTZ_SIMPROP_TRIGGERS.sched_name IS '调度名称';
  239. COMMENT ON COLUMN QRTZ_SIMPROP_TRIGGERS.trigger_name IS 'qrtz_triggers表trigger_name的外键';
  240. COMMENT ON COLUMN QRTZ_SIMPROP_TRIGGERS.trigger_group IS 'qrtz_triggers表trigger_group的外键';
  241. COMMENT ON COLUMN QRTZ_SIMPROP_TRIGGERS.str_prop_1 IS 'String类型的trigger的第一个参数';
  242. COMMENT ON COLUMN QRTZ_SIMPROP_TRIGGERS.str_prop_2 IS 'String类型的trigger的第二个参数';
  243. COMMENT ON COLUMN QRTZ_SIMPROP_TRIGGERS.str_prop_3 IS 'String类型的trigger的第三个参数';
  244. COMMENT ON COLUMN QRTZ_SIMPROP_TRIGGERS.int_prop_1 IS 'int类型的trigger的第一个参数';
  245. COMMENT ON COLUMN QRTZ_SIMPROP_TRIGGERS.int_prop_2 IS 'int类型的trigger的第二个参数';
  246. COMMENT ON COLUMN QRTZ_SIMPROP_TRIGGERS.long_prop_1 IS 'long类型的trigger的第一个参数';
  247. COMMENT ON COLUMN QRTZ_SIMPROP_TRIGGERS.long_prop_2 IS 'long类型的trigger的第二个参数';
  248. COMMENT ON COLUMN QRTZ_SIMPROP_TRIGGERS.dec_prop_1 IS 'decimal类型的trigger的第一个参数';
  249. COMMENT ON COLUMN QRTZ_SIMPROP_TRIGGERS.dec_prop_2 IS 'decimal类型的trigger的第二个参数';
  250. COMMENT ON COLUMN QRTZ_SIMPROP_TRIGGERS.bool_prop_1 IS 'Boolean类型的trigger的第一个参数';
  251. COMMENT ON COLUMN QRTZ_SIMPROP_TRIGGERS.bool_prop_2 IS 'Boolean类型的trigger的第二个参数';
  252. commit;