Исправление автомиграции и создания администратора

This commit is contained in:
2025-12-19 21:28:52 +03:00
parent f6ac03a869
commit 719631158d
4 changed files with 84 additions and 55 deletions
+28 -12
View File
@@ -6,27 +6,43 @@ from alembic import command
from alembic.config import Config
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
from sqlmodel import Session
from .auth import run_seeds
from .routers import api_router
from .settings import engine, get_app
app = get_app()
alembic_cfg = Config("alembic.ini")
from .settings import engine, get_app, get_logger
@asynccontextmanager
async def lifespan(app: FastAPI):
"""Жизененый цикл сервиса"""
print("[+] Initializing...")
"""Жизненный цикл сервиса"""
logger = get_logger("uvicorn")
logger.info("[+] Initializing database...")
# Настройка базы данных
with engine.begin() as connection:
alembic_cfg.attributes["connection"] = connection
command.upgrade(alembic_cfg, "head")
try:
with engine.begin() as connection:
alembic_cfg = Config("alembic.ini")
alembic_cfg.attributes["configure_logging"] = False
alembic_cfg.attributes["connection"] = connection
command.upgrade(alembic_cfg, "head")
except Exception as e:
logger.error(f"[-] Migration failed: {e}")
raise e
print("[+] Starting...")
logger.info("[+] Running seeds...")
try:
with Session(engine) as session:
run_seeds(session)
logger.info("[+] Database setup completed.")
except Exception as e:
logger.error(f"[-] Seeding failed: {e}")
logger.info("[+] Starting application...")
yield # Обработка запросов
print("[+] Application shutdown")
logger.info("[+] Application shutdown")
app = get_app(lifespan)
# Подключение маршрутов