Files
msgexchange-v2/src/main/resources/db/migration/oracle11g/README.md
T

1.8 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 验收(Oracle 11g 适配为开放项,见 docs/implementation.md)。
  3. 11g 的 upsertMERGE INTO)与绑定顺序适配完成并通过与 PG 同粒度的集成测试后, 才允许把仓储 SQL 切到 11g 方言。先前编译级交付的 SqlDialect 方言接缝已随 基线列名更替(fday/last_message_id → operation_day/last_msg_id)退役删除; 接入时必须按基线现有列名重建,禁止直接复用旧接缝。

计划内容

  • 单基线:V1__flight_state_baseline.sql 的 11g 等价 DDL—— PIPELINE_LOCK/INBOX_CURSOR/PROC_STATE/MSG_EVENT/REQ_TRACK/FLIGHT_SCHD + 9 张明细表/SCHD_SNAP_LOG NUMBER/序列替代 BIGSERIALTIMESTAMP WITH TIME ZONEVARCHAR2 BYTE/CHAR 语义钉死。
  • INSERT ... ON CONFLICT 改 11g MERGEOPERATION_DAY 不可变条件,INV-12)。
  • 空串按 NULL 的语义回归:显式清空的 presence 信息不得被 11g 空串语义吞掉 (字段清空语义见 Q13;定案前按「未携带不清空」实现,INV-14)。
  • 11g 无部分索引:uq_req_open / uq_schd_event / idx_proc_backfill_due 三个带 WHERE 的索引必须换成等价的函数索引或冗余列方案,不能照搬 PG 定义。

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