feat(ref): 21 类静态主数据独立 PostgreSQL 参考库边界就位(ACM2-11 落地)
按 ACM2-11 定案调整(业务事务库 MySQL + 航班动态 Redis 不变): - 接口拆分:RefDataRepository 收为 gen-only(SCHD_GEN/流程 4 CAS,留守业务库); 新增 StaticRefRepository + RefUpsert 对齐 SOURCE 审计(N19)。 - 调用点:RequestCoordinator 应答落库、ReferenceService(21 类同步 TODO) 指向 StaticRefRepository;Decision.refUpserts 与 Pump 事务 2 注释同步 (静态写为弱事务,不入主泵事务 2)。 - Stub:StubRefData 仅 gen;新增 StubStaticRef(内存,保留 source)。 - 配置:datasources.reference / flyway.datasources.reference 占位 (PostgreSQL,enabled=false 不建连;驱动 org.postgresql 随阶段 6 实装引入, 版本由 platform BOM 约束 ~42.7);catalog 补 postgresql。 - 文档:README / docs/architecture.md §2/§6 / docs/design.md §2/§6/§9 数据边界 全部按"21 类 → PG 参考库、gen 留守 MySQL、Redis 动态不变"更新。 验证:37 测试全绿(./gradlew test,接口拆分后无破坏)。 表结构/迁移/ReferenceService 实装/应答接线属阶段 6(U05 批次后)。
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
|---|---|---|
|
||||
| 语言/运行时 | Kotlin 2.3 + JDK 25 | JDK 21 不可行(Micronaut 5.1 系要求 JVM 25+,ACMA-9 实测) |
|
||||
| 框架 | Micronaut 5.1.3 | 编译期 DI:KSP(`kotlin-ksp` + `micronaut-inject-kotlin`)生成 `*$Definition` |
|
||||
| 持久化 | MySQL + Flyway | 仓储现为接口(Micronaut Data JDBC 实装属 U05,阶段 1 后续) |
|
||||
| 持久化 | 业务库:MySQL + Flyway;静态参考库:**PostgreSQL**(ACM2-11) | 仓储现为接口(Micronaut Data JDBC 实装属 U05,阶段 1 后续;`datasources.reference` enabled=false 待阶段 6) |
|
||||
| 权威存储 | Redis(阶段 A) | flightInfo hash;仅主泵线程写(I5);Lua 脚本原子覆盖 |
|
||||
| 投递 | Kafka(acks=all + 幂等) | outbox 模式,经 MSG_EVENT 表中转 |
|
||||
| 投影(阶段 B) | Elasticsearch + Redis 投影 + FLIGHT_STATE | 仅阶段 B 启用(`msgx.phase`) |
|
||||
@@ -104,6 +104,10 @@
|
||||
|
||||
- **本仓库 Flyway 只建六张辅助表**:`PROC_STATE` / `MSG_EVENT` / `REF_DATA` / `REQ_TRACK` /
|
||||
`PUMP_JOB` / `FLIGHT_STATE`(`V2.0.0__aux_tables.sql`)。
|
||||
- **21 类静态主数据 → 独立 PostgreSQL 参考库**(ACM2-11 定案;`datasources.reference` /
|
||||
`StaticRefRepository`):航空公司/航线/机位/登机桥等静态数据迁出 `REF_DATA`;
|
||||
**`REF_DATA` 仅留守 SCHD_GEN 行**(流程 4 gen CAS 与 SUCCEEDED 同事务,见 design.md §2 注);
|
||||
航班动态权威 Redis(阶段 A flightInfo)**不变**。参考库表结构/迁移/21 类同步实装属阶段 6。
|
||||
- `CMINMSGS` / `CMINMSGS_HST` / `COUTMSGS` 等 legacy 旧表归 legacy 仓库维护(冻结期),
|
||||
本仓库不重复声明;**全新空库需先建 legacy schema**,否则收报首句 SQL 报表不存在
|
||||
(README「数据库初始化」节)。
|
||||
|
||||
Reference in New Issue
Block a user