- STATUS.md:顶部权威行由 "PHASE 20 COMPLETE"(09-17)更新为 09-18 口径(Phase 01~22 关闭 / Phase 23 部分关闭 / 三轮横向加固 / 669 tests / 停在 Phase 24 门前);版本演进表补 rc.11~rc.16; **合并三处重复的「V1.1 本地部署完成 (2026-09-09)」区块为一处**(996 行 → 946 行)并加 「历史记录边界」声明;清「Phase 04~05 ⏳ 待开发」等与实测矛盾项。契约锚点全部保住 (UI REDESIGN ACCEPTED BY USER / Phase 07 已通过用户验收 / 管理后台: http://localhost:13520/)。 - AGENTS.md + STATUS.md:UI 契约门禁口径 13/13 → **14/14**(历史时点行保留原值并注明, 不篡改史实)。 - JIRA_BACKLOG.md:Epic 总览表补 P14/P15/P19~P23 的 ✅(P23 标「部分关闭」)。 - 客户需求基线计划:Phase 07 标题去 "UI REOPENED";Phase 10~15/19 补 ✅;Phase 20/21 勾选 checkbox 并注日期;**Phase 22 如实标「未复验」**(口径澄清:计划的 Deployment/Ops 与 STATUS 的 「部署运维配置扩展(Feature Flag)」是两份不同工作,后者复验结论不构成本节证据); Phase 23 标「部分关闭」,第 3/5 项(E2E 场景实现、CI 串联)**不虚勾**。 - PENDING_DECISIONS.md:历史部署声明 10 项按各 Phase Recovery 报告证据回写处置结果 (9 项已关闭 / 1 项部分);补登 HTTP 与幂等检修遗留的第三方开放待决策 7 项。 - REMAINING_WORK.md:整体重写 —— 原文称 CHANGELOG 3.3MB(实为 4234 字节)、P1-3 指向从未存在的 Phase-23-Completion-Report.md;改为「已关闭 / 仍未完成 / 原编号索引 / 验收标准」四段,保留原编号 以便对照历史引用。 - database 两份:TABLE_INVENTORY 40 表 → **59 表**(带「来源迁移」列);MIGRATION_GUIDE V001~V011 → **V001~V046(46 个)**;两份均标注「以 backend/src/main/resources/db/migration/ 为准」。
6.0 KiB
6.0 KiB
数据库迁移清单 — MIGRATION_GUIDE.md
最后更新:2026-09-18 —— 原文仅列 V001~V011,实测 46 个迁移(最新 V046),本轮按实测重写。
⚠️ 权威来源:
backend/src/main/resources/db/migration/。本文件为索引,不一致时以迁移文件为准。 生产由 Flyway 驱动;已发布的迁移只向前修复,不修改(Phase 22 Gate 明确要求)。 相邻文档:TABLE_INVENTORY.md(表清单)、docs/善缘丹阳 V1.1 数据库与API增量设计.md(V1.1 增量设计)。
迁移命名规范
V{三位版本号}__{描述}.sql
迁移清单(V001~V046,共 46 个)
| 版本 | 文件 | 建表 | 说明 |
|---|---|---|---|
| V001 | V001__init_base_tables.sql |
11 | 基础表:users / organizations / operators / roles / permissions / role_permissions / operator_roles / audit_logs / sensitive_access_logs / system_configs / interest_dictionary + 初始化数据 |
| V002 | V002__add_user_and_verification_tables.sql |
7 | 用户资料 / 偏好 / 兴趣 / 照片 / 隐私设置 / 实名认证 / 同意记录 |
| V003 | V003__add_review_and_relation_tables.sql |
6 | 审核任务 / 明细 / 原因字典 + 用户关系 / 匹配 / 成功牵手请求 |
| V004 | V004__add_messaging_and_recommendation_tables.sql |
5 | 会话 / 会话成员 / 消息 / 通知 / 推荐记录 |
| V005 | V005__add_review_tables.sql |
— | 审核表补强(无建表) |
| V006 | V006__add_match_tables.sql |
1 | match_rule_configs + 初始化规则 |
| V007 | V007__add_relationship_tables.sql |
— | 关系表补强(无建表) |
| V008 | V008__add_messaging_tables.sql |
3 | 消息类表补强(以 IF NOT EXISTS 形式,与 V004 同名表) |
| V009 | V009__add_matchmaker_tables.sql |
3 | 红娘服务 / 推荐 / 跟进 |
| V010 | V010__add_activity_tables.sql |
2 | 活动 / 活动报名 |
| V011 | V011__add_activity_interests.sql |
1 | 活动互选意向 |
| V012 | V012__add_risk_and_report_tables.sql |
3 | 举报 / 风险事件 / 风控处置 |
| V013 | V013__add_appeals_table.sql |
1 | 申诉 |
| V014 | V014__add_consent_and_privacy_tables.sql |
— | 同意与隐私字段扩展 |
| V015 | V015__add_v11_roles_and_permissions.sql |
— | V1.1 角色与权限(13 条 INSERT) |
| V016 | V016__add_liveness_verification_fields.sql |
— | 活体核验字段 |
| V017 | V017__add_local_eligibility_tables.sql |
2 | 本地资格 / 佐证 |
| V018 | V018__extend_review_for_local_eligibility.sql |
— | 审核扩展至本地资格 |
| V019 | V019__add_home_banners_and_service_locations.sql |
2 | 首页 Banner / 善缘服务站 |
| V020 | V020__extend_notification_types.sql |
— | 通知类型扩展(对齐 chk_notification_type 短名白名单) |
| V021 | V021__add_service_appointments_and_referral_fields.sql |
1 | 服务预约 + 红娘转介字段 |
| V022 | V022__add_counseling_services.sql |
2 | 婚恋咨询 / 婚前辅导 + 随访 |
| V023 | V023__extend_activities_v11.sql |
2 | 活动 V1.1 扩展(名额分组 / 主办单位) |
| V024 | V024__add_activity_mutual_connection_consents.sql |
1 | 互选二阶段同意 |
| V025 | V025__extend_risk_sources.sql |
— | 风险来源扩展 |
| V026 | V026__add_content_and_program_tables.sql |
5 | 内容分类 / 文章、服务项目 / 成员、组织关系 |
| V027 | V027__seed_production_data.sql |
— | 生产基础数据种子(3 条 INSERT) |
| V028 | V028__add_service_location_operator_scope.sql |
1 | 服务站人员数据范围 |
| V029 | V029__complete_service_station_permissions.sql |
— | 服务站权限补全 |
| V030 | V030__add_operator_soft_delete.sql |
— | 运营账号软删 |
| V031 | V031__align_audit_log_base_fields.sql |
— | 审计日志基础字段对齐 |
| V032 | V032__align_admin_soft_delete_columns.sql |
— | 管理端软删列对齐 |
| V033 | V033__align_messaging_entity_base_fields.sql |
— | 消息实体基础字段对齐 |
| V034 | V034__extend_sensitive_access_audit.sql |
— | 敏感访问审计扩展 |
| V035 | V035__align_sensitive_access_base_fields.sql |
— | 敏感访问基础字段对齐 |
| V036 | V036__add_notification_idempotency_index.sql |
— | 通知幂等 partial unique index |
| V037 | V037__align_entity_columns_with_migrations.sql |
— | 实体↔迁移列对齐(23 处 ALTER) |
| V038 | V038__align_matchmaker_status_constraints.sql |
— | 红娘状态 CHECK 白名单扩展 |
| V039 | V039__add_counseling_idempotency_and_status_guards.sql |
— | 咨询幂等键 + 三个 CHECK 白名单显式固化 |
| V040 | V040__add_activity_staff_assignments.sql |
1 | 活动工作人员分配 |
| V041 | V041__extend_mutual_consent_expiry.sql |
— | 互选同意 expires_at + match_id |
| V042 | V042__add_service_location_announcements.sql |
1 | 服务站公告 |
| V043 | V043__grant_analytics_view_to_data_roles.sql |
— | 授予 data_viewer / platform_admin 的 analytics.view |
| V044 | V044__grant_all_permissions_to_super_admin.sql |
— | super_admin 全权限授予 |
| V045 | V045__add_idempotency_records.sql |
1 | 通用幂等表 + 唯一索引 uk_idempotency_scope |
| V046 | V046__fix_idempotency_actor_id_type.sql |
— | 修正幂等表 actor_id 类型(VARCHAR → uuid) |
注意事项
- 所有迁移文件必须幂等(
CREATE TABLE IF NOT EXISTS/ADD COLUMN IF NOT EXISTS等)。 - 敏感字段存储加密值。
- 命名规范:索引
idx_{table}_{columns};唯一约束uk_{table}_{columns};外键fk_{table}_{column}。 - 已发布的迁移不得修改 —— 修正一律追加新版本(如 V046 修正 V045 的列类型)。Phase 22 Gate 明确「Flyway 只向前修复,不破坏 V001~V027」。
- 文档与实际不一致时以迁移文件为准:本文件曾长期停留在 V001~V011(实际 46 个);
TABLE_INVENTORY.md曾列 40 表(实际 59 张)。两处已于 2026-09-18 按实测重写。
最后更新: 2026-09-18 — 由 V001V011 重写为实测 V001V046(46 个)