chore(store): consolidate 009–014 into one 2026.06→2026.07 delta migration#465
Conversation
…ation v2026.06 shipped migrations 001–008 as a clean baseline (itself a consolidation of v2026.05's set). Six incremental migrations then landed on main for the 2026.07 cycle — 009 role-permission split (#333), 010 role-grant scope columns (#334), 011 events append-only trigger (#404), 012 IdP trust_email_assertions (#412), 013 LUKS token hashing (#420), 014 reconciler-owned system-role permissions (#440). Per the project's per-release migration convention, collapse them into a single ordered 009_v2026_07.sql so the 2026.06→2026.07 delta is one migration. Faithful concatenation: every statement preserved verbatim, Up in original apply order, Down reversed, each StatementBegin/End block intact. No schema change — `sqlc generate` produces an identical generated/ tree, and the seed-parity guard (system-role permissions stay reconciler-owned) still passes.
|
Warning Review limit reached
More reviews will be available in 22 minutes and 50 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more credits in the billing tab to continue. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (7)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
What
Collapses the six incremental migrations that landed on
mainafter the v2026.06 baseline (001–008) into a single ordered009_v2026_07.sql, so the 2026.06→2026.07 schema/data delta is one migration — matching the project's per-release migration convention (v2026.06 itself consolidated v2026.05's set).Replaces:
009_role_permission_split_7010_role_grant_scope_7011_events_append_only012_idp_trust_email_assertions013_luks_token_hash014_reconciler_owned_role_permissionsFaithful, no schema change
Every statement is preserved verbatim, Up in original apply order, Down reversed, each
+goose StatementBegin/Endblock intact. Each source migration's rationale comment is kept as a section header.Verification:
sqlc generate→ zero diff ininternal/store/generated/(consolidated schema is byte-identical).seed_parityguard passes — migration014's'{}'blanking stays the last statement to set system-role permissions, so the reconciler-owned invariant (WS17b feat: make agent release poll interval configurable #18) holds.+goose Up/ one+goose Down;StatementBegin/Endbalanced.store-projectorsCI shard (fresh Postgres, applies all migrations).Note
Correct for the project's fresh-baseline-per-release model. Any persistent DB that already applied
009–014individually keeps orphan goose version rows10–14(harmless — goose won't error, nothing re-applies). Fresh installs and CI template-clones are unaffected.