"""Expand AQMM references from VARCHAR(120) to TEXT. Revision ID: 20260919_aqmm_ref_text Revises: 20260919_task_inheritance """ from alembic import op import sqlalchemy as sa revision = "20260919_aqmm_ref_text" down_revision = "20260919_task_inheritance" branch_labels = None depends_on = None _TABLES = ( "service_default_task_templates", "firm_service_task_templates", "client_service_task_instances", ) def upgrade() -> None: bind = op.get_bind() inspector = sa.inspect(bind) existing_tables = set(inspector.get_table_names()) for table_name in _TABLES: if table_name not in existing_tables: continue columns = {col["name"]: col for col in inspector.get_columns(table_name)} if "aqmm_reference" not in columns: continue with op.batch_alter_table(table_name) as batch: batch.alter_column( "aqmm_reference", existing_type=sa.String(length=120), type_=sa.Text(), existing_nullable=True, ) def downgrade() -> None: bind = op.get_bind() inspector = sa.inspect(bind) existing_tables = set(inspector.get_table_names()) for table_name in reversed(_TABLES): if table_name not in existing_tables: continue columns = {col["name"]: col for col in inspector.get_columns(table_name)} if "aqmm_reference" not in columns: continue with op.batch_alter_table(table_name) as batch: batch.alter_column( "aqmm_reference", existing_type=sa.Text(), type_=sa.String(length=120), existing_nullable=True, )