mirror of
https://github.com/wowlikon/LiB.git
synced 2026-02-04 04:31:09 +00:00
Исправление автомиграции и создания администратора
This commit is contained in:
+28
-12
@@ -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)
|
||||
|
||||
|
||||
# Подключение маршрутов
|
||||
|
||||
Reference in New Issue
Block a user