用途
本技能面向 Python 数据库开发,提供 SQLAlchemy 2.0 与数据库最佳实践的模式参考,帮助在编写或审查数据库相关代码时采用一致的写法。根据触发词,它适用于涉及 sqlalchemy、database、orm、migration、alembic、async database、connection pool、repository pattern 等主题的任务。
主要能力
资料中给出的内容涵盖以下方面:
- SQLAlchemy 2.0 基础:使用
DeclarativeBase、Mapped、mapped_column定义模型,创建 engine 与表,以及 2.0 风格查询。 - 异步 SQLAlchemy:使用
create_async_engine、async_sessionmaker、AsyncSession构建异步引擎与会话,并通过await session.execute(...)执行查询。 - 模型关系:一对多与多对一关系,使用
relationship(back_populates=...)与ForeignKey。 - 常见查询模式:基本 select、
and_/or_多条件、排序与 limit、聚合func.count、join、selectinload预加载。 - FastAPI 集成:通过依赖注入提供
AsyncSession,在路由中查询并在未找到时抛出 404。 - 快速参考表:列出 select all、filter、first、all、count、join、eager load 对应的 2.0 风格写法。
使用方式
资料未提供该技能的安装命令或调用步骤,仅说明其包含参考文件与资源,包括:
./references/sqlalchemy-async.md:异步模式、会话管理。./references/connection-pooling.md:连接池配置、健康检查。./references/transactions.md:事务模式、隔离级别。./references/migrations.md:Alembic 设置、迁移策略。./assets/alembic.ini.template:Alembic 配置模板。
内容以代码示例为主,可据此在项目中编写或对照数据库层实现。
适用场景
- 在 Python 项目中定义或调整 ORM 模型与关系。
- 使用 SQLAlchemy 2.0 风格编写查询。
- 构建异步数据库访问层与会话管理。
- 在 FastAPI 中注入数据库会话并处理查询结果。
- 参考连接池、事务与 Alembic 迁移相关做法。
限制
该技能的安装方式、运行平台、收费与价格信息暂未提供。资料未说明其支持的具体数据库后端范围、性能承诺或效果保证,也未提供 repository pattern 的完整示例;示例仅覆盖资料中列出的代码片段,其他内容需以实际参考文件为准。