Files
wyndham-ARR/database/REMOTE_MIGRATION_20260728.md
2026-07-29 16:38:05 +08:00

80 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ARR 测试数据库远程迁移记录
执行日期2026-07-28
状态:完整迁移已提交并验收。
## 范围
- 源:`<LEGACY_DB_HOST>:5433/booking_test`PostgreSQL 15.18
- 目标:`<ARR_DB_HOST>:5432/booking_test`PostgreSQL 15.14
- 目标用户:`<TEST_DB_OWNER>`,数据库 owner非超级用户
- 迁移对象:`ingestion``booking``finance`
- 源库处理:只读,未修改、未删除,继续保留作为临时回退
## 执行内容
- 应用 DDL`database/008_arr_mvp_v1_rebuild.sql`
- DDL SHA-256`a29df928a2bcfca262216a9d53260528374b830266b3285f3687199cb802a530`
- 基础表14
- 视图8
- 同步所有 identity sequence 的 `last_value/is_called`
- 迁移全部现有测试数据、处理审计和工件元数据
## 迁移前备份
- 目录:`<PRIVATE_BACKUP_ROOT>/booking_test_pre_remote_migration_20260728T180747+0800`
- manifest SHA-256`db8ca84fed52123d10151b475aca31659be237c6e7d513484e4f25b1d9a89c4d`
- 备份权限:目录 0700文件 0600
- 内容14 表逐行 gzip JSON、schema/约束/索引/视图/函数/触发器/sequence 元数据、目标空库证据
## 安全执行
1. 只读确认目标 ARR schema 为空,用户为数据库 owner 且具备 CREATE。
2. 在目标执行一次完整 DDL + 全量复制 + 校验 + 强制 ROLLBACK 演练。
3. 第二连接确认演练后目标仍为空。
4. 正式执行相同流程,结构与数据在一个 SERIALIZABLE 事务内提交。
5. 任一步失败都会回滚;未发生部分提交。
## 最终一致性
- 双端结构 signature`0d64002b919d439dbbbbf78d1f5c5fab86d8f815f80dc6225f17a91ab5455e38`
- 双端 14 表内容 hash bundle`42faf898d67b3015e85baf00bbd66a1fa4448d80daa7f5d9d0207a4004fad35c`
- 双端逐表行数和逐表内容 SHA-256全部一致
- identity sequence state全部一致
- 未验证约束0
- 目标 `public` 用户对象0
关键数据计数:
| 表 | 行数 |
|---|---:|
| `booking.source_rows` | 867 |
| `booking.parse_versions` | 867 |
| `booking.room_items` | 867 |
| `booking.current_row_parses` | 867 |
| `finance.daily_versions` | 1 |
| `finance.current_daily_versions` | 1 |
| `finance.daily_records` | 3 |
| `ingestion.artifacts` | 5 |
| `ingestion.processing_runs` | 2 |
Finance outcomeretained、duplicate、excluded_rate_code 各 1。
## 应用验收
使用新远程数据库实际运行:
- 渠道 BI1 个渠道、1 条 retained
- 渠道明细1 行;
- 月报生成源1 行;
- 公司报表1 行Booking Room 为 `【DBL】1`
- Web 日报列表1 条;
- Web 月度数据源投影1 行。
## 当前配置
- 当前测试库配置:`/path/to/private/booking-test-db.env`0600
- 旧 LAN 回退配置:`/path/to/private/booking-test-lan-db.env`0600
文档不保存密码。应用应优先使用新远程配置;在观察期结束前不要删除旧 LAN 库。