Initial commit: Robot ökoszisztéma v2.0 - Stabilizált jármű és szerviz robotok
This commit is contained in:
45
archive/2026.02.18 Archive_old_mapps/init_db_direct.py.old
Executable file
45
archive/2026.02.18 Archive_old_mapps/init_db_direct.py.old
Executable 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}")
|
||||
Reference in New Issue
Block a user