petstore-backend/db/migrations/README.md
2026-08-01 22:56:31 +08:00

1.6 KiB
Raw Blame History

数据库迁移

当前项目尚未接入 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脚本不回填无法从数据库可靠恢复的报告打开与服务开始事件。

20260801_create_booking_capacity.sql 必须在业务事件迁移之后执行:为服务项目、预约快照和手动占用补充时长,为门店补充并发接待数。历史预约按服务名称采用稳定默认值回填;脚本末尾四个验证计数必须为 0。

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