Files
arrr-erp/alembic/versions/20260919_expand_aqmm_reference_to_text.py
T
2026-09-19 14:31:56 +05:30

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,
)