gabriel / musehub public
0050_backfill_merge_strategy.py python
31 lines 738 B
Raw
sha256:e519738f2102d625d47828a17d113283cd744577b43551013cb668fd04f1c3fe chore(mwp8/phase5): tick all RG checkboxes; close-out doc (… Sonnet 4.6 18 days ago
1 """Backfill NULL merge_strategy rows to 'state_overlay'.
2
3 Every proposal is a merge operation and must have a strategy. NULL means the
4 row was created before the default was enforced. This migration backfills all
5 existing NULL values to the canonical default.
6
7 Revision ID: 0050
8 Revises: 0049
9 """
10 from __future__ import annotations
11
12 import sqlalchemy as sa
13 from alembic import op
14
15 revision: str = "0050"
16 down_revision: str = "0049"
17 branch_labels = None
18 depends_on = None
19
20
21 def upgrade() -> None:
22 op.execute(
23 sa.text(
24 "UPDATE musehub_proposals SET merge_strategy = 'state_overlay' "
25 "WHERE merge_strategy IS NULL"
26 )
27 )
28
29
30 def downgrade() -> None:
31 pass # NULL backfills are not reversible
File History 2 commits
sha256:e519738f2102d625d47828a17d113283cd744577b43551013cb668fd04f1c3fe chore(mwp8/phase5): tick all RG checkboxes; close-out doc (… Sonnet 4.6 18 days ago
sha256:0e5174da777684df43b2db71f282079030ef28bacffb93e19c29ee712b2a8bc4 test(mwp8/phase0): audit — repair+force-push leave stale ca… Sonnet 4.6 20 days ago