- 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
55 lines
1.1 KiB
Python
55 lines
1.1 KiB
Python
"""SQLAlchemy-Modelle. Import hier hält Alembics Autogenerate vollständig."""
|
|
|
|
from app.db.base import Base
|
|
from app.models.core import Account, AppUser, Category, LogoAsset, Merchant
|
|
from app.models.enums import (
|
|
AccountType,
|
|
BusinessDayShift,
|
|
EntryKind,
|
|
LogoSource,
|
|
LogoStatus,
|
|
NotificationChannel,
|
|
NotificationStatus,
|
|
NotificationType,
|
|
OccurrenceStatus,
|
|
)
|
|
from app.models.finance import (
|
|
AmountVersion,
|
|
Budget,
|
|
BudgetTemplate,
|
|
Occurrence,
|
|
Recurrence,
|
|
ReserveLedger,
|
|
SavingsGoal,
|
|
Transaction,
|
|
)
|
|
from app.models.notification import NotificationLog, NotificationRule
|
|
|
|
__all__ = [
|
|
"Account",
|
|
"AccountType",
|
|
"AmountVersion",
|
|
"AppUser",
|
|
"Base",
|
|
"Budget",
|
|
"BudgetTemplate",
|
|
"BusinessDayShift",
|
|
"Category",
|
|
"EntryKind",
|
|
"LogoAsset",
|
|
"LogoSource",
|
|
"LogoStatus",
|
|
"Merchant",
|
|
"NotificationChannel",
|
|
"NotificationLog",
|
|
"NotificationRule",
|
|
"NotificationStatus",
|
|
"NotificationType",
|
|
"Occurrence",
|
|
"OccurrenceStatus",
|
|
"Recurrence",
|
|
"ReserveLedger",
|
|
"SavingsGoal",
|
|
"Transaction",
|
|
]
|