osint-dashboard/alembic/versions/004_camera_enum.py
Sirius DevOps 1ce3da4403
All checks were successful
build-and-deploy / build (push) Successful in 1m37s
Migration 004 fix: pg_type catalog table, not pg_typname
2026-08-24 21:29:25 -04:00

36 lines
877 B
Python

"""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