"""events.camera source type Revision ID: 004_camera_enum Revises: 003_news Create Date: 2026-08-25 """ from alembic import op revision = '004_camera_enum' down_revision = '003_news' branch_labels = None depends_on = None def upgrade() -> None: # Postgres enums have no IF NOT EXISTS for values — guard manually so the # migration stays idempotent across restarts. op.execute(""" DO $$ BEGIN IF NOT EXISTS ( SELECT 1 FROM pg_enum e JOIN pg_type t ON t.oid = e.enumtypid WHERE t.typname = 'event_source_type' AND e.enumlabel = 'camera' ) THEN ALTER TYPE event_source_type ADD VALUE 'camera'; END IF; END $$; """) def downgrade() -> None: # Enum value removal is not supported by Postgres; leave it in place. pass