Files
MABEA/backend/alembic/versions/0029_dokument_original.py
T
patrickandClaude Sonnet 5 ae09433c11
CI / backend-tests (push) Successful in 2m16s
CI / frontend-build (push) Successful in 27s
feat(dokumente): DOC-004 Original-vs-Kopie-Kennzeichnung
Neues Feld ist_original (Boolean, Migration 0029) - explizit beim Upload
und beim Ersetzen (DOC-003) setzbar, kein Default in eine Richtung erraten.
Wird beim Ersetzen bewusst NICHT vom Vorgänger übernommen (neue Version
könnte ein nachgereichtes Original sein, das eine bisherige Kopie ersetzt,
oder umgekehrt). Frontend: Checkbox "Original (nicht nur Kopie/Scan)" im
Upload-Formular, "Original"-Badge in der Dokumentenliste.

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

28 lines
825 B
Python

"""DOC-004: Original-vs-Kopie-Kennzeichnung bei Dokumenten.
Revision ID: 0029_dokument_original
Revises: 0028_fk_indizes
Create Date: 2026-09-08
"""
from typing import Sequence, Union
from alembic import op
revision: str = "0029_dokument_original"
down_revision: Union[str, None] = "0028_fk_indizes"
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
op.execute(
"ALTER TABLE dokument ADD COLUMN ist_original BOOLEAN NOT NULL DEFAULT false"
)
# Default nur für den Backfill nötig - künftige Inserts geben es immer
# explizit an (Anwendungsebene).
op.execute("ALTER TABLE dokument ALTER COLUMN ist_original DROP DEFAULT")
def downgrade() -> None:
op.execute("ALTER TABLE dokument DROP COLUMN ist_original")