petstore-backend/db/migrations
2026-08-01 22:29:20 +08:00
..
20260801_create_business_event.sql feat: persist core business events 2026-08-01 22:29:20 +08:00
20260801_create_store_customer.sql feat: add stable store customer master 2026-08-01 21:56:07 +08:00
20260801_split_service_identity.sql feat: split booking and report identities 2026-08-01 20:31:53 +08:00
README.md feat: persist core business events 2026-08-01 22:29:20 +08:00

数据库迁移

当前项目尚未接入 Flyway/Liquibase。本目录存放经过评审的一次性 MySQL 迁移脚本;生产执行规则:

  1. 先完成数据库备份并记录备份位置。
  2. 在测试库执行脚本,核对文件末尾的验证查询。
  3. 由发布负责人在生产低峰期执行,同一个脚本不得重复执行。
  4. 验证通过后再启动使用新字段的 backend 版本。
  5. 迁移脚本只允许向前兼容;本阶段不得删除 legacy 字段。

20260801_split_service_identity.sql 为身份语义拆分迁移:新增客户、创建人和报告作者字段,保留 user_id / assigned_user_id 兼容旧版本。

20260801_create_store_customer.sql 必须在上述身份迁移之后执行:建立 t_store_customer 门店客户主档,并从预约与报告留资回填历史关系。脚本末尾三个验证计数必须为 0。

20260801_create_business_event.sql 必须在客户主档迁移之后执行:建立不可变 t_business_event,回填预约创建、报告提交、可确认的服务完成和留资提交。脚本末尾四个验证计数必须为 0脚本不回填无法从数据库可靠恢复的报告打开与服务开始事件。

正式迁移框架仍属于 Phase 0 后续任务;接入前不得把本目录误当成自动执行目录。