test(M01-B): 验证脱敏旧库迁移兼容

This commit is contained in:
Codex
2026-06-18 10:06:26 +08:00
parent 5117ae27d6
commit 1192dcb6b2
13 changed files with 5512 additions and 41 deletions
@@ -124,3 +124,18 @@ release manifest dry-run 已能记录 `databaseMigration=PROJECT_PRESENT_MIGRATI
- 部署影响:无;未连接生产数据库,未修改部署菜单和正式迁移文件。
- M01-B 保持 `PARTIAL`:尚未在脱敏旧库副本上执行迁移和兼容读取,鉴权与业务接口也未完成。
- 下一步:建立脱敏旧表结构 fixture,在旧库副本上执行迁移并验证兼容读取。
## 15. 2026-06-18 续开发:脱敏旧库副本迁移与兼容读取
- `ENGINEERING_DELTA=YES`
- 新增脱敏旧库 fixture,覆盖门店、房间、订单、设备和两个租户;全部名称、标识、时间和金额均为虚构数据。
- 扩展真实 MySQL 集成测试:迁移前、首次 up/verify 后、down 后、再次 up/verify 后均执行旧表兼容读取。
- 验证租户隔离、父级过滤、只读查询、金额整数分转换,以及 down 不删除旧表。
- `npm test``backend/`):退出码 0。
- `powershell -ExecutionPolicy Bypass -File scripts/dev/windows/check-backend.ps1`:退出码 0,编译、契约测试、迁移计划和真实 HTTP 健康检查通过。
- `bash scripts/dev/wsl/mysql-migration-roundtrip.sh`:退出码 0MySQL 8.4.9fixture 8 条、up 11 条、verify 3 条、down 10 条。
- `bash scripts/dev/wsl/mysql-migration-roundtrip.sh --cleanup-probe`:退出码 0,模拟异常退出后临时数据库和账号无残留。
- 工程文件:`database/fixtures/2026061801_m01b_legacy_schema.sql``backend/tests/mysql-migration-roundtrip.test.mjs``backend/tests/migration-contract.test.mjs`
- 数据库/API/部署变化:生产数据库无变化,API 无变化,部署影响无;正式迁移 SQL 未修改。
- M01-B 完成;鉴权属于 M02,业务接口属于后续业务模块,不再作为 M01-B 阻塞项。
- 下一步:M01-C 轻量异步任务基础。