"""Add 'queued' + 'cancelled' values to the ansiblerunstatus enum Revision ID: 0019_ansible_run_statuses Revises: 0018_ansible_schedules Create Date: 2026-06-16 """ from typing import Sequence, Union from alembic import op revision: str = "0019_ansible_run_statuses" down_revision: Union[str, None] = "0018_ansible_schedules" branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: # ALTER TYPE ... ADD VALUE cannot run inside a transaction block; use an # autocommit block. IF NOT EXISTS keeps it idempotent across re-runs. with op.get_context().autocommit_block(): op.execute("ALTER TYPE ansiblerunstatus ADD VALUE IF NOT EXISTS 'queued'") op.execute("ALTER TYPE ansiblerunstatus ADD VALUE IF NOT EXISTS 'cancelled'") def downgrade() -> None: # Postgres has no DROP VALUE for enums; leaving the values is harmless. pass