SuperAPI AI 工具集

advanced-alchemy-fastapi

编程与开发

查看项目

更新于 10-15 16:48

技能介绍

用途:把 Advanced Alchemy 与 FastAPI 集成,用扩展方式管理数据库会话、仓储与服务,并让路由返回类型化的 schema 对象。

主要能力:配置 SQLAlchemyAsyncConfig 并将 AdvancedAlchemy 挂载到 FastAPI 应用;用 Depends(alchemy.provide_session()) 构建请求级会话依赖;通过异步生成器提供 service,并用 Service.new(session=...) 上下文管理器;返回服务转换后的 schema 对象或分页 schema 集合。

使用方式:用 Annotated 加 Depends 注入会话与服务,保持签名显式;明确设置 commit_mode,不依赖隐式事务假设;response_model 与 to_schema() 返回的 schema 保持一致;避免把 ORM 实例直接作为 FastAPI 响应返回;在服务与依赖层就绪后再注册路由。示例配置使用 SQLAlchemyAsyncConfig(connection_string="sqlite+aiosqlite:///test.sqlite", session_config=AsyncSessionConfig(expire_on_commit=False), create_all=True, commit_mode="autocommit")。

适用场景:需要请求级会话、服务层与类型化响应的 FastAPI 项目;可与 advanced-alchemy-routing、advanced-alchemy-services、advanced-alchemy-cli 等技能衔接。

限制:资料未提供具体版本要求、性能数据或收费信息;校验清单要求确认会话请求级关闭、service 类型与资源释放、响应模型匹配、路由只挂载一次且生命周期不重复。