"""drop source_dialect/target_dialect from terminology_dictionaries Revision ID: f1a2b3c4d5e6 Revises: dabc97097e0e Create Date: 2026-06-02 12:00:00.000000 """ from collections.abc import Sequence from alembic import op from sqlalchemy import inspect # revision identifiers, used by Alembic. revision: str = 'f1a2b3c4d5e6' down_revision: str | Sequence[str] | None = 'dabc97097e0e' branch_labels: str | Sequence[str] | None = None depends_on: str | Sequence[str] | None = None def _column_exists(table_name: str, column_name: str) -> bool: conn = op.get_bind() inspector = inspect(conn) columns = [c["name"] for c in inspector.get_columns(table_name)] return column_name in columns def upgrade() -> None: """Drop source_dialect and target_dialect from terminology_dictionaries.""" if not _column_exists("terminology_dictionaries", "source_dialect"): return op.drop_column("terminology_dictionaries", "source_dialect") op.drop_column("terminology_dictionaries", "target_dialect") def downgrade() -> None: """Re-add source_dialect and target_dialect to terminology_dictionaries.""" import sqlalchemy as sa op.add_column("terminology_dictionaries", sa.Column( "source_dialect", sa.String(), nullable=False, server_default="", )) op.add_column("terminology_dictionaries", sa.Column( "target_dialect", sa.String(), nullable=False, server_default="", ))