Files
陈子默 b4bdc392ee feat: 新增嵌入式分布式调度底座
- 提供通用调度 API、Quartz JDBC Provider 与独立 Starter

- 补充 MySQL、PostgreSQL、H2 建表脚本与接入校验

- 同步完善 Federation 与 Scheduler 模块说明
2026-08-26 18:15:13 +08:00

3.0 KiB
Raw Permalink Blame History

Quartz 2.5.2 数据库脚本

easy-agents-scheduler-quartz 不会自动创建、删除或修改数据库结构。引用方需要选择与数据库匹配的脚本,并将其内容纳入自己的 Flyway、Liquibase 或初始化流程。

脚本与 Delegate

数据库 类路径资源 driverDelegateClass
MySQL / MariaDB quartz-schema/mysql-2.5.2.sql org.quartz.impl.jdbcjobstore.StdJDBCDelegate
PostgreSQL quartz-schema/postgresql-2.5.2.sql org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
H2 2.x开发与测试 quartz-schema/h2-2.5.2.sql org.quartz.impl.jdbcjobstore.StdJDBCDelegate

默认表前缀是 QRTZ_。若调用方调整表名或 Schema需要同步设置 tablePrefix,例如 scheduler.QRTZ_

来源与变更

脚本来自 Quartz 官方仓库 v2.5.2 标签:

为避免初始化脚本误删调用方已有任务,本模块从 MySQL 和 PostgreSQL 脚本中移除了全部 DROP TABLE。H2 版本另将旧式 IMAGE 类型替换为 H2 2.x 支持的 BLOB,并移除了已经失效的 MVCC=TRUE 提示。三套脚本同时移除了显式事务提交和行尾空白,使事务边界由调用方的迁移工具管理,其余建表结构沿用官方脚本。

SHA-256

文件 官方原始文件 本模块资源
MySQL 90453cda26f4aad8abd35195a38ec36306561f0265f766dd12fbb42e185d5f82 1bfadd7762251836d6e15360e85f3c996a5c942a997ff0e9df30b59c50b0e97d
PostgreSQL 60d22e05e00203702f18f835916c75270aeb6828e7051bb81dd87ebd7bf6a943 911d058d415dbb9b29b344997c952e29d2e0b510ce4fe0b69f38adc5d5afffdb
H2 21d806abef330e7c7175491b55b730acffa3c2e17a910840b32eee3fe2bf9fed 7750ac7b6c29d91072a5f8f98e4489d79469120effa9f613a7d9f89613beba5b

脚本随 Quartz 版本固化。后续升级 Quartz 时应新增版本化资源并完成数据库升级验证,不回改已经发布的脚本。

引用方接入要求

  1. 在目标数据库中执行所选脚本,或复制到引用方自己的迁移文件中。
  2. 保持同一集群节点的 schedulerNametablePrefix 和数据库一致。
  3. 每个节点使用唯一 instanceId,常规部署可配置为 AUTO
  4. 生产集群启用 clustered=true,业务 Handler 按至少一次执行语义实现幂等。
  5. 保留启动结构校验;表或关键列缺失时底座会拒绝启动并报告 SCHEMA_INVALID

本模块只包含 Quartz 的 QRTZ_* 技术表。任务定义、执行流水、审计和管理界面等业务表由引用方按自身需求设计。