Files
MABEA/backend/alembic/versions/0033_wartungsauftrag_teil.py
T
patrickandClaude Sonnet 5 847c303a97
CI / backend-tests (push) Successful in 2m22s
CI / frontend-build (push) Successful in 25s
feat(wartung): MAINT-005 Ersatzteile/Kosten je Wartungsauftrag
Neue Tabelle wartungsauftrag_teil (Migration 0033), CRUD-Endpunkte
/wartungsauftraege/{id}/teile, UI-Panel in WartungSection.tsx mit
Summenanzeige. Backlog Epic 22 (UI-Redesign Runde 2, Kacheln UI2-001..005)
als geplant ergänzt, Umsetzung folgt separat.

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

34 lines
941 B
Python

"""MAINT-005: Ersatzteile/Kosten je Wartungsauftrag.
Revision ID: 0033_wartungsauftrag_teil
Revises: 0032_nummernschema
Create Date: 2026-09-08
"""
from typing import Sequence, Union
from alembic import op
revision: str = "0033_wartungsauftrag_teil"
down_revision: Union[str, None] = "0032_nummernschema"
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
op.execute(
"""
CREATE TABLE wartungsauftrag_teil (
id UUID PRIMARY KEY,
auftrag_id UUID NOT NULL REFERENCES wartungsauftrag(id),
bezeichnung TEXT NOT NULL,
menge NUMERIC NOT NULL DEFAULT 1,
kosten NUMERIC NOT NULL
)
"""
)
op.execute("CREATE INDEX ix_wartungsauftrag_teil_auftrag_id ON wartungsauftrag_teil (auftrag_id)")
def downgrade() -> None:
op.execute("DROP TABLE wartungsauftrag_teil")