Files
MABEA/backend/alembic/versions/0032_nummernschema.py
T
patrickandClaude Sonnet 5 3b5cf8feab
CI / backend-tests (push) Successful in 2m24s
CI / frontend-build (push) Successful in 27s
feat(identity): IDENT-003 konfigurierbare Nummernschemata je Objekttyp
Neue Stammdaten-Tabelle nummernschema (Migration 0032): Präfix + Stellenzahl
einmal je Objekttyp festlegen statt bei jeder Objekt-Anlage manuell
einzutippen (Fehlerquelle - Tippfehler, uneinheitliche Schreibweise,
falsches Präfix für den Typ). GET /objekte/naechster-code akzeptiert jetzt
objekttyp_id als Alternative zu praefix; ohne konfiguriertes Schema bleibt
der bisherige manuelle Präfix-Weg nutzbar (Rückwärtskompatibilität).

Admin-UI: Nummernschema-Pflege direkt in der Objekttyp-Verwaltung
(ObjekttypSection). ObjektAnlegenFormular versucht zuerst das Schema des
gewählten Objekttyps, fällt bei 404 auf manuelles Präfix zurück.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
2026-09-08 20:23:14 +02:00

32 lines
815 B
Python

"""IDENT-003: Nummernschema je Objekttyp (Präfix + Stellenzahl konfigurierbar).
Revision ID: 0032_nummernschema
Revises: 0031_einsatzfunktion
Create Date: 2026-09-08
"""
from typing import Sequence, Union
from alembic import op
revision: str = "0032_nummernschema"
down_revision: Union[str, None] = "0031_einsatzfunktion"
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
op.execute(
"""
CREATE TABLE nummernschema (
id SERIAL PRIMARY KEY,
objekttyp_id INTEGER NOT NULL UNIQUE REFERENCES objekttyp(id),
praefix TEXT NOT NULL,
stellenzahl INTEGER NOT NULL DEFAULT 5
)
"""
)
def downgrade() -> None:
op.execute("DROP TABLE nummernschema")