add schema version model

This commit is contained in:
phernandez
2025-02-07 14:56:01 -06:00
parent 2ef48bb34c
commit e2882dbf84
2 changed files with 24 additions and 2 deletions
+23 -1
View File
@@ -7,18 +7,40 @@ from fastapi.exception_handlers import http_exception_handler
from loguru import logger
from basic_memory import db
from .routers import knowledge, search, memory, resource
from basic_memory.api.routers import knowledge, search, memory, resource
from basic_memory.config import config
from basic_memory.services import DbVersionService
@asynccontextmanager
async def lifespan(app: FastAPI):
"""Lifecycle manager for the FastAPI app."""
logger.info("Starting Basic Memory API")
# check the db state
await check_db(app)
yield
logger.info("Shutting down Basic Memory API")
await db.shutdown_db()
async def check_db(app: FastAPI):
logger.info("Checking database state")
# Initialize DB management service
db_service = DbVersionService(
config=config,
)
# Check and initialize DB if needed
if not await db_service.check_db():
raise RuntimeError("Database initialization failed")
# Clean up old backups on shutdown
await db_service.cleanup_backups()
# Initialize FastAPI app
app = FastAPI(
title="Basic Memory API",