小程序后端补充数据库兼容层与启动适配

This commit is contained in:
stu2not
2026-04-16 18:19:28 +08:00
parent 2526365af1
commit 9d7c1ce7b4
4 changed files with 110 additions and 50 deletions

View File

@@ -1,35 +1,29 @@
import os
import logging
import sys
from pathlib import Path
from fastapi import FastAPI
try:
# For module mode: `uvicorn app.main:app`
from app.db import check_db_connection, close_db_engine, init_db_tables
from app.logging_setup import configure_logging
from app.middleware.auth import install_auth_middleware
from app.middleware.request_log import install_request_logging_middleware
from app.routers.auth import router as auth_router
from app.routers.wechat_auth import router as wechat_auth_router
from app.routers.health import router as health_router
from app.routers.messages import router as messages_router
from app.routers.parents import router as parents_router
from app.routers.children import router as children_router
from app.routers.bindings import router as bindings_router
from app.settings import settings
except ModuleNotFoundError:
# For script mode: `python app/main.py` or VS Code "Run Python File"
from db import check_db_connection, close_db_engine, init_db_tables
from logging_setup import configure_logging
from middleware.auth import install_auth_middleware
from middleware.request_log import install_request_logging_middleware
from routers.auth import router as auth_router
from routers.health import router as health_router
from routers.messages import router as messages_router
from routers.parents import router as parents_router
from routers.children import router as children_router
from routers.bindings import router as bindings_router
from settings import settings
if __package__ in (None, ""):
# Make `python app/main.py` behave like module execution from the project root.
project_root = Path(__file__).resolve().parent.parent
project_root_str = str(project_root)
if project_root_str not in sys.path:
sys.path.insert(0, project_root_str)
from app.db import check_db_connection, close_db_engine, init_db_tables
from app.logging_setup import configure_logging
from app.middleware.auth import install_auth_middleware
from app.middleware.request_log import install_request_logging_middleware
from app.routers.auth import router as auth_router
from app.routers.wechat_auth import router as wechat_auth_router
from app.routers.health import router as health_router
from app.routers.messages import router as messages_router
from app.routers.parents import router as parents_router
from app.routers.children import router as children_router
from app.routers.bindings import router as bindings_router
from app.settings import settings
configure_logging()
@@ -59,12 +53,9 @@ def create_app() -> FastAPI:
app.include_router(wechat_auth_router)
app.include_router(health_router)
app.include_router(messages_router)
try:
app.include_router(parents_router)
app.include_router(children_router)
app.include_router(bindings_router)
except NameError:
pass
app.include_router(parents_router)
app.include_router(children_router)
app.include_router(bindings_router)
return app