"""PERS-004: Einsatzfunktionen (Gruppenführer/Melder/...), benutzer.einsatzfunktion_id. Revision ID: 0031_einsatzfunktion Revises: 0030_hersteller_modell Create Date: 2026-09-08 """ from typing import Sequence, Union from alembic import op revision: str = "0031_einsatzfunktion" down_revision: Union[str, None] = "0030_hersteller_modell" branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: op.execute( """ CREATE TABLE einsatzfunktion ( id SERIAL PRIMARY KEY, name TEXT NOT NULL UNIQUE ) """ ) op.execute("ALTER TABLE benutzer ADD COLUMN einsatzfunktion_id INTEGER REFERENCES einsatzfunktion(id)") op.execute("CREATE INDEX ix_benutzer_einsatzfunktion_id ON benutzer (einsatzfunktion_id)") def downgrade() -> None: op.execute("DROP INDEX IF EXISTS ix_benutzer_einsatzfunktion_id") op.execute("ALTER TABLE benutzer DROP COLUMN einsatzfunktion_id") op.execute("DROP TABLE einsatzfunktion")