STABLE: Final schema sync, optimized gitignore

This commit is contained in:
Kincses
2026-02-26 08:19:25 +01:00
parent 893f39fa15
commit 505543330a
203 changed files with 11590 additions and 9542 deletions

View File

@@ -0,0 +1,45 @@
# /opt/docker/dev/service_finder/backend/app/init_db_direct.py
import asyncio
import logging
from sqlalchemy import text
from app.database import engine, Base
# 1. LOGIKA: Minden modell importálása
# Ez KRITIKUS: A SQLAlchemy Metadata csak akkor látja a táblákat, ha a Python
# értelmező már "találkozott" az osztályokkal.
from app.models.identity import User, Person, SocialAccount
from app.models.organization import Organization
from app.models.asset import Asset, AssetCatalog, AssetTelemetry
from app.models.service import ServiceProfile, ExpertiseTag, ServiceExpertise
from app.models.system import SystemParameter
from app.models.history import AuditLog
from app.models.security import PendingAction
from app.models.translation import Translation
from app.models.staged_data import ServiceStaging, DiscoveryParameter
from app.models.social import ServiceProvider, Vote, Competition, UserScore
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger("DB-Initializer")
async def init_db():
logger.info("🚀 Adatbázis inicializálása indítva (MB2.0 Standard)...")
async with engine.begin() as conn:
# 2. LOGIKA: Sémák létrehozása
# SQLAlchemy nem hozza létre a sémákat automatikusan, ezt nekünk kell megtenni.
logger.info("📂 Sémák létrehozása (identity, data)...")
await conn.execute(text("CREATE SCHEMA IF NOT EXISTS identity;"))
await conn.execute(text("CREATE SCHEMA IF NOT EXISTS data;"))
# 3. LOGIKA: Táblák létrehozása
logger.info("🏗️ Táblák és kapcsolatok generálása a Metadata alapján...")
# Ez a run_sync hívás futtatja le a klasszikus szinkron create_all-t az aszinkron kapcsolaton
await conn.run_sync(Base.metadata.create_all)
logger.info("✅ Minden tábla sikeresen létrejött a megfelelő sémákban!")
if __name__ == "__main__":
try:
asyncio.run(init_db())
except Exception as e:
logger.error(f"❌ Hiba az inicializálás során: {e}")