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

18 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 数据库迁移
当前项目尚未接入 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 后续任务;接入前不得把本目录误当成自动执行目录。