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
34 lines
941 B
Python
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")
|