# 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 的 upsert(MERGE 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`/序列替代 `BIGSERIAL`、`TIMESTAMP WITH TIME ZONE`、`VARCHAR2` BYTE/CHAR 语义钉死。 - `INSERT ... ON CONFLICT` 改 11g MERGE(OPERATION_DAY 不可变条件,`INV-12`)。 - 空串按 NULL 的语义回归:显式清空的 presence 信息不得被 11g 空串语义吞掉 (字段清空语义见 `Q13`;定案前按「未携带不清空」实现,`INV-14`)。 - 11g 无部分索引:`uq_req_open` / `uq_schd_event` / `idx_proc_backfill_due` 三个带 `WHERE` 的索引必须换成等价的函数索引或冗余列方案,不能照搬 PG 定义。 版本号与 PG location 各自独立推进,禁止复用版本号语义。