用途:面向在 Python 中使用 SQLAlchemy 2.0 的开发场景,提供声明式模型、查询、会话、异步引擎、Alembic 迁移、关系加载策略与 N+1 问题等实践指引。
主要能力:涵盖引擎与连接池配置(pool_size、max_overflow、pool_pre_ping 等)、异步引擎与 AsyncSession、Serverless 场景的 NullPool、声明式模型与列类型、会话生命周期与事务管理(含 SAVEPOINT 嵌套事务)、2.0 风格查询(select/update/delete、session.get)、关系加载策略对比(joinedload、selectinload、raiseload、noload)、1.x 到 2.0 迁移清单,以及 N+1、MissingGreenletError、StaleDataError、DetachedInstanceError、连接池耗尽等常见问题的检测与修复。
使用方式:安装命令为 pip install sqlalchemy[asyncio] alembic,异步 PostgreSQL 驱动为 pip install asyncpg,同步驱动为 pip install psycopg2-binary。会话应每个请求或任务一个,不可跨线程共享;推荐使用显式事务 with session.begin()。集合关系优先用 selectinload,标量关系可用 joinedload,测试中可用 raiseload 捕获隐式懒加载。
适用场景:Web 后端、异步服务、Serverless 函数、需要迁移管理的数据库项目。
限制:资料未提供具体版本兼容范围、性能基准与收费信息;完整 API 需参考官方文档。