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

2.8 KiB
Raw Blame History

ARR 测试数据库远程迁移记录

执行日期2026-07-28
状态:完整迁移已提交并验收。

范围

  • 源:<LEGACY_DB_HOST>:5433/booking_testPostgreSQL 15.18
  • 目标:<ARR_DB_HOST>:5432/booking_testPostgreSQL 15.14
  • 目标用户:<TEST_DB_OWNER>,数据库 owner非超级用户
  • 迁移对象:ingestionbookingfinance
  • 源库处理:只读,未修改、未删除,继续保留作为临时回退

执行内容

  • 应用 DDLdatabase/008_arr_mvp_v1_rebuild.sql
  • DDL SHA-256a29df928a2bcfca262216a9d53260528374b830266b3285f3687199cb802a530
  • 基础表14
  • 视图8
  • 同步所有 identity sequence 的 last_value/is_called
  • 迁移全部现有测试数据、处理审计和工件元数据

迁移前备份

  • 目录:<PRIVATE_BACKUP_ROOT>/booking_test_pre_remote_migration_20260728T180747+0800
  • manifest SHA-256db8ca84fed52123d10151b475aca31659be237c6e7d513484e4f25b1d9a89c4d
  • 备份权限:目录 0700文件 0600
  • 内容14 表逐行 gzip JSON、schema/约束/索引/视图/函数/触发器/sequence 元数据、目标空库证据

安全执行

  1. 只读确认目标 ARR schema 为空,用户为数据库 owner 且具备 CREATE。
  2. 在目标执行一次完整 DDL + 全量复制 + 校验 + 强制 ROLLBACK 演练。
  3. 第二连接确认演练后目标仍为空。
  4. 正式执行相同流程,结构与数据在一个 SERIALIZABLE 事务内提交。
  5. 任一步失败都会回滚;未发生部分提交。

最终一致性

  • 双端结构 signature0d64002b919d439dbbbbf78d1f5c5fab86d8f815f80dc6225f17a91ab5455e38
  • 双端 14 表内容 hash bundle42faf898d67b3015e85baf00bbd66a1fa4448d80daa7f5d9d0207a4004fad35c
  • 双端逐表行数和逐表内容 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.env0600
  • 旧 LAN 回退配置:/path/to/private/booking-test-lan-db.env0600

文档不保存密码。应用应优先使用新远程配置;在观察期结束前不要删除旧 LAN 库。