2.8 KiB
2.8 KiB
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 元数据、目标空库证据
安全执行
- 只读确认目标 ARR schema 为空,用户为数据库 owner 且具备 CREATE。
- 在目标执行一次完整 DDL + 全量复制 + 校验 + 强制 ROLLBACK 演练。
- 第二连接确认演练后目标仍为空。
- 正式执行相同流程,结构与数据在一个 SERIALIZABLE 事务内提交。
- 任一步失败都会回滚;未发生部分提交。
最终一致性
- 双端结构 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 outcome:retained、duplicate、excluded_rate_code 各 1。
应用验收
使用新远程数据库实际运行:
- 渠道 BI:1 个渠道、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 库。