refaktorálás javításai

This commit is contained in:
Roo
2026-03-13 10:22:41 +00:00
parent 2d8d23f469
commit f53e0b53df
140 changed files with 7316 additions and 4579 deletions

View File

@@ -3,10 +3,18 @@ from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession, async_sess
from sqlalchemy.orm import DeclarativeBase
from app.core.config import settings
# Most már settings.SQLALCHEMY_DATABASE_URI létezik a property miatt!
# 1. Base definíciója - Ezt importálják a modellek
class Base(DeclarativeBase):
"""
Központi SQLAlchemy Base osztály.
A modellek a 'from app.database import Base' segítségével érik el.
"""
pass
# 2. Engine és SessionLocal beállítása
engine = create_async_engine(
str(settings.SQLALCHEMY_DATABASE_URI),
echo=settings.DEBUG_MODE,
echo=settings.DEBUG_MODE,
pool_size=20,
max_overflow=10,
pool_pre_ping=True,
@@ -20,5 +28,20 @@ AsyncSessionLocal = async_sessionmaker(
expire_on_commit=False
)
class Base(DeclarativeBase):
pass
# 3. A "Körforgás-törő" függvény
def ensure_models_loaded():
"""
Dinamikusan betölti az összes modellt a regiszter segítségével.
Helyi importot használunk, hogy elkerüljük a körkörös függőséget:
database -> registry -> database (Base)
"""
try:
# Itt importálunk helyben, így a Base már létezik a memóriában
from app.models.registry import load_all_models
load_all_models()
print("✅ Adatbázis modellek regisztrálva a MetaData-ba.")
except ImportError as e:
print(f"⚠️ Hiba a modellek dinamikus betöltésekor: {e}")
# Automatikus betöltés meghívása (opcionális, de ajánlott az API indításakor)
# ensure_models_loaded()