Files
msgexchange-v2/src/main/resources/db/migration/oracle11g/README.md
T
windyboy 879d658159 refactor(flight-state): 按 flight-state.md 审计定稿全量重构脚手架与 SQL (ACM2-31)
- SQL 基线 V1__flight_state_baseline.sql 整体取代 V1.0.0–V1.4.0:
  PIPELINE_LOCK/PROC_STATE/MSG_EVENT/REQ_TRACK/BACKFILL_TODO/FLIGHT_SCHD
  + 8 张资源明细表 + FLIGHT_ROUTE_POINT + SCHD_SNAP_LOG 留痕层
- 废除 FDAY 日代/SCHD_GEN/名单差删:OPERATION_DAY 不可变(应用层校验 +
  条件更新强化 §7.4),STATE 仅 ACTIVE/DELETED,物理清除只在历史归档后
- 处理器化:applyScheduleRecords(§5.1 七步同一事务,重放判定/整包
  DEAD(PROTOCOL)/归属冲突不落地)+ FLOP/FDEL/ADFT(tombstone 仅
  ACTIVE→DELETED,重复 FDEL 幂等不推进版本)
- 投递:KAFKA_SCHD 同 FLID 按最新 STATE_VERSION 合并,被压掉事件关闭,
  TOMBSTONE 发 null 值消息(键缺失=删除旧值 §7.3)
- 回填待办改为业务事务内预登记,消除提交后写待办的崩溃窗口(§7.2/§10)
- XML 解码改为 jackson-dataformat-xml 数据类直接映射(SIS 信封强类型,
  FLTR 开放标签泛型承载)
- 历史归档/物理清除顺序不可颠倒:归档确认成功集才物理删除,未接通删 0 条
- 移除 PUMP_JOB 队列/ReferenceService/FlightStoreDiffTool 等旧机制与测试,
  新增运营日/引擎/快照/FDEL/归档顺序不变性回归测试
2026-09-09 17:53:08 +08:00

1.4 KiB
Raw Blame History

Oracle 11g 专用迁移位置(ACM2-29 P3-B,门控未激活)

本目录是现场 11g 部署形态的 Flyway migration location 占位。当前 不接入任何环境的 Flyway 配置PG 路径使用 classpath:db/migration,两者互不混用。

激活前置条件(全部满足才允许接入)

  1. 现场 11.2 补丁级别、数据库字符集、DBA 权限清单拿到,且可提供可测试的目标库。
  2. JDK 25 × ojdbc 驱动(具体版本)× Flyway Oracle 支持 × 连接池组合在目标库实测通过 ——不能以"PG 通过"代替 Oracle 验收(docs/flight-state.md)。
  3. SqlDialect 切到 Oracle11gDialect 前,MERGE 绑定顺序适配完成并通过 FlightSchdJdbcPgTest 同等粒度的 11g 集成测试。

计划内容

  • V1 起:V1__flight_state_baseline.sql 的 11g 等价 DDL—— PIPELINE_LOCK/PROC_STATE/MSG_EVENT/REQ_TRACK/BACKFILL_TODO/FLIGHT_SCHD + 9 张明细表/SCHD_SNAP_LOG NUMBER/序列替代 BIGSERIALTIMESTAMP WITH TIME ZONEVARCHAR2 BYTE/CHAR 语义钉死。
  • JdbcFlightStateRepository 的 INSERT ... ON CONFLICT 改 MERGEOPERATION_DAY 不可变条件 §7.4)。
  • 空串按 NULL 的语义回归:命令层 presence 信息不得被 11g 空串语义吞掉 docs/flight-state.md §5/§10)。

版本号与 PG location 各自独立推进,禁止复用版本号语义。