"""Store raw DomainOp type and full op payload on symbol history entries. Revision ID: 0018 Revises: 0017 Create Date: 2026-05-04 """ from __future__ import annotations from alembic import op import sqlalchemy as sa revision = "0018" down_revision = "0017" branch_labels = None depends_on = None def upgrade() -> None: op.add_column( "musehub_symbol_history_entries", sa.Column("op_payload", sa.JSON(), nullable=True), ) # Widen op on symbol_intel — directory_rename is 17 chars, String(16) too narrow. op.alter_column( "musehub_symbol_intel", "op", type_=sa.String(32), existing_type=sa.String(16), existing_nullable=True, ) def downgrade() -> None: from sqlalchemy import text op.execute(text("ALTER TABLE musehub_symbol_history_entries DROP COLUMN IF EXISTS op_payload")) op.alter_column( "musehub_symbol_intel", "op", type_=sa.String(16), existing_type=sa.String(32), existing_nullable=True, )