2026-09-08 17:10:40 +08:00
|
|
|
|
# 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 支持 × 连接池组合在目标库实测通过
|
2026-09-13 20:31:13 +08:00
|
|
|
|
——不能以"PG 通过"代替 Oracle 验收(Oracle 11g 适配为开放项,见 `docs/implementation.md`)。
|
2026-09-09 22:17:04 +08:00
|
|
|
|
3. 11g 的 upsert(MERGE INTO)与绑定顺序适配完成并通过与 PG 同粒度的集成测试后,
|
|
|
|
|
|
才允许把仓储 SQL 切到 11g 方言。先前编译级交付的 `SqlDialect` 方言接缝已随
|
2026-09-13 16:31:14 +08:00
|
|
|
|
基线列名更替(fday/last_message_id → operation_day/last_msg_id)退役删除;
|
|
|
|
|
|
接入时必须按基线现有列名重建,禁止直接复用旧接缝。
|
2026-09-08 17:10:40 +08:00
|
|
|
|
|
|
|
|
|
|
## 计划内容
|
|
|
|
|
|
|
2026-09-13 16:31:14 +08:00
|
|
|
|
- 单基线:`V1__flight_state_baseline.sql` 的 11g 等价 DDL——
|
|
|
|
|
|
PIPELINE_LOCK/INBOX_CURSOR/PROC_STATE/MSG_EVENT/REQ_TRACK/FLIGHT_SCHD + 9 张明细表/SCHD_SNAP_LOG;
|
2026-09-09 17:53:08 +08:00
|
|
|
|
`NUMBER`/序列替代 `BIGSERIAL`、`TIMESTAMP WITH TIME ZONE`、`VARCHAR2` BYTE/CHAR 语义钉死。
|
2026-09-13 16:31:14 +08:00
|
|
|
|
- `INSERT ... ON CONFLICT` 改 11g MERGE(OPERATION_DAY 不可变条件,`INV-12`)。
|
2026-09-09 22:17:04 +08:00
|
|
|
|
- 空串按 NULL 的语义回归:显式清空的 presence 信息不得被 11g 空串语义吞掉
|
2026-09-13 16:31:14 +08:00
|
|
|
|
(字段清空语义见 `Q13`;定案前按「未携带不清空」实现,`INV-14`)。
|
|
|
|
|
|
- 11g 无部分索引:`uq_req_open` / `uq_schd_event` / `idx_proc_backfill_due` 三个带 `WHERE`
|
|
|
|
|
|
的索引必须换成等价的函数索引或冗余列方案,不能照搬 PG 定义。
|
2026-09-08 17:10:40 +08:00
|
|
|
|
|
|
|
|
|
|
版本号与 PG location 各自独立推进,禁止复用版本号语义。
|