gabriel / musehub public

0018_raw_op_payload.py file-level

at sha256:9 · View file ↗ · Intel ↗

History
1 files
1 commits
0 hotspots
0 🧊 dead
0 💥 blast risk
sha256:9 Merge 'fix/assignee-sigil-inline' into 'dev' — proposal: Assignee sigil… · gabriel · Jun 7, 2026
1 """Store raw DomainOp type and full op payload on symbol history entries.
2
3 Revision ID: 0018
4 Revises: 0017
5 Create Date: 2026-05-04
6 """
7 from __future__ import annotations
8
9 from alembic import op
10 import sqlalchemy as sa
11
12 revision = "0018"
13 down_revision = "0017"
14 branch_labels = None
15 depends_on = None
16
17
18 def upgrade() -> None:
19 op.add_column(
20 "musehub_symbol_history_entries",
21 sa.Column("op_payload", sa.JSON(), nullable=True),
22 )
23 # Widen op on symbol_intel — directory_rename is 17 chars, String(16) too narrow.
24 op.alter_column(
25 "musehub_symbol_intel",
26 "op",
27 type_=sa.String(32),
28 existing_type=sa.String(16),
29 existing_nullable=True,
30 )
31
32
33 def downgrade() -> None:
34 from sqlalchemy import text
35 op.execute(text("ALTER TABLE musehub_symbol_history_entries DROP COLUMN IF EXISTS op_payload"))
36 op.alter_column(
37 "musehub_symbol_intel",
38 "op",
39 type_=sa.String(16),
40 existing_type=sa.String(32),
41 existing_nullable=True,
42 )