Files
MABEA/backend/alembic/versions/0002_seed_hauptserver.py
patrickandClaude Sonnet 5 48b6d6a5be
CI / backend-tests (push) Failing after 1s
Sprint 0: FastAPI-Skeleton, vollständiges DB-Schema (Alembic), Auth (JWT/bcrypt), Rollen-Dependency, CI
- Vollständiges Ziel-Schema aus Prompt 20 als initiale Migration (inkl. Karte-13-Vorbereitung: UUID-PKs, systemknoten)
- Seed-Migration für Hauptserver-Datensatz (Sprintplan E6)
- JWT-Login + /auth/me, require_roles-Dependency (Prompt 05 Berechtigungsmatrix)
- Tests: health, login/me, Rollen-Ablehnung/-Zulassung (S0-Abnahmekriterien)
- Gitea-Actions-CI: install -> migrate -> pytest mit Coverage-Gate 50%

Nur Code/Config erzeugt, nicht lokal installiert oder ausgeführt (Deployment-Regel).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L85hmKbvX7Cqkq47KnQhFt
2026-09-03 22:32:54 +02:00

26 lines
712 B
Python

"""Seed: genau ein systemknoten-Datensatz mit typ='haupt' (Sprintplan E6)
Revision ID: 0002_seed_hauptserver
Revises: 0001_initial_schema
Create Date: 2026-09-03
"""
from typing import Sequence, Union
from alembic import op
revision: str = "0002_seed_hauptserver"
down_revision: Union[str, None] = "0001_initial_schema"
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
op.execute(
"INSERT INTO systemknoten (name, typ) VALUES ('Hauptserver', 'haupt') "
"ON CONFLICT (name) DO NOTHING;"
)
def downgrade() -> None:
op.execute("DELETE FROM systemknoten WHERE name = 'Hauptserver' AND typ = 'haupt';")