- Repo-Struktur für Backend, Frontend, Dokumentation und Gitea-Workflows - FastAPI-Skeleton mit pydantic-settings und RFC-7807-artigem Fehlerformat - Vollständiges Datenmodell (15 Tabellen) als SQLAlchemy-2.0-Modelle - Alembic gegen die Async-Engine inklusive Erstmigration - Idempotenter Seed für den deutschen Kategoriebaum und Standardregeln - Endpunkte /api/health und /api/version - pytest-Infrastruktur mit transaktionsisolierten Fixtures Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014e7t8UpmoVNMtWivY5LiSH
21 lines
515 B
Python
21 lines
515 B
Python
"""CLI: Stammdaten seeden – `python -m app.scripts.seed`."""
|
||
|
||
import asyncio
|
||
|
||
from app.db.session import SessionLocal, engine
|
||
from app.services.seed import seed_all
|
||
|
||
|
||
async def main() -> None:
|
||
async with SessionLocal() as session:
|
||
result = await seed_all(session)
|
||
await engine.dispose()
|
||
print(
|
||
f"Seed fertig: {result['categories']} Kategorien, "
|
||
f"{result['notification_rules']} Benachrichtigungsregeln neu angelegt."
|
||
)
|
||
|
||
|
||
if __name__ == "__main__":
|
||
asyncio.run(main())
|