feat: Projektfundament mit Datenmodell, Migrationen und Seed
- 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
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
"""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",
|
||||
]
|
||||
Reference in New Issue
Block a user