Skip to content

fix(db): resolve V44 migration collision before identity rollout #652

Description

@XiaoSeS

Context

PR #561 reserves Flyway V44 for the compliance metadata index, while the unified identity changes currently on big-main also start at V44 and continue through V47. A database that has already applied #561 V44 cannot start the big-main image because Flyway resolves a different V44 checksum.

This is an upgrade blocker for the identity rollout. Flyway repair is not an acceptable fix because the two V44 migrations create different database objects.

Related: #561, #640, #646, #649, #650, #651.

Scope

  • retain the V44 compliance index migration unchanged as a compatibility reservation, without importing the rest of feat(compliance): add compliance version mapping and audit snapshots #561
  • renumber the unreleased unified identity migrations from V44-V47 to V45-V48
  • update Flyway targets, PostgreSQL contract tests, migration guardrails, scripts, and documentation
  • preserve validation for both a fresh V43 database and a database that already contains the reserved V44 migration
  • validate the final big-main image against a real PostgreSQL 16 upgrade path

Acceptance

  • a V43 database migrates through the reserved V44 and identity V45-V48 successfully
  • a database with the exact feat(compliance): add compliance version mapping and audit snapshots #561 V44 checksum validates and migrates to V48 without Flyway repair
  • identity Binding V2 and profile/provisioning PostgreSQL suites pass
  • full backend and GitHub CI gates pass
  • the exact big-main merge image starts successfully in the shared test runtime
  • main is not modified as part of test integration

Non-goals

Metadata

Metadata

Assignees

No one assigned

    Labels

    effort/s小改动或边界明确 / Small or well-bounded change.priority/p1高优先级 / High priority triage bucket.risk/high涉及安全、鉴权、迁移或公共契约 / Touches security, auth, migrations, or public contracts.triage/needs-info需要补充更多信息后才能分流 / Issue needs more detail before it can be routed.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions