"""add system_developer user role

Revision ID: c5y5t3md3v414d9
Revises: b1ll1ngcu5t0m3r5
Create Date: 2026-09-19

The `user_role` column is a native PG enum, so the new choice is added by
extending the type itself. A downgrade cannot remove it (PostgreSQL has no
DROP VALUE).
"""
from typing import Sequence, Union

from alembic import op

revision: str = 'c5y5t3md3v414d9'
down_revision: Union[str, None] = 'b1ll1ngcu5t0m3r5'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
    op.execute("ALTER TYPE user_role ADD VALUE IF NOT EXISTS 'system_developer'")


def downgrade() -> None:
    # PostgreSQL cannot drop enum values; once a type member exists it stays.
    pass
