我最近将使用 FastApi 编码的 REST API 迁移到新的 SQLAlchemy 1.4+ 异步版本。我的应用程序编译正确,数据库似乎设置得很好。当我尝试执行多个请求时,会出现问题,出现错误,似乎表明同一会话正在用于我的所有请求。我把错误信息放在最后
这是我的代码,我基于 SQLAlchemy 异步文档和此示例
应用程序引擎初始化
from typing import AsyncIterator
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
from .notification import Notification
from .devices import Device
from sqlalchemy import MetaData
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
from sqlalchemy import create_engine
from app.core.config import Config
from app.core.constants import logger
import asyncio
engine = create_async_engine(Config.RDS_DB_URL)
metadata = MetaData(engine)
#if not engine.dialect.has_table(engine, C.NOTIFICATIONS):
#Base.metadata.create_all(engine)
async def init_connection():
async with engine.begin() as conn:
await …
Run Code Online (Sandbox Code Playgroud)