59 lines
1.7 KiB
Python
59 lines
1.7 KiB
Python
"""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,
|
|
)
|