CI / backend-tests (push) Failing after 1s
- 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
26 lines
712 B
Python
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';")
|