SuperAPI AI 工具集

advanced-alchemy-repositories

编程与开发

查看项目

更新于 10-15 16:48

技能介绍

用途:用于在 Advanced Alchemy 中构建仓库(Repository)层,把持久化与查询组合从 HTTP 契约中分离出来。

主要能力:支持同步与异步仓库(SQLAlchemyAsyncRepository、SQLAlchemySyncRepository),以及 slug 变体和查询仓库;提供内置过滤器、list_and_count() 分页计数、批量插入/更新/upsert/删除等批量辅助方法;可显式设置 loader options 以控制关系加载行为。

使用方式:先按运行时选择匹配的仓库基类,立即设置 model_type 并保持仓库与模型一一对应;列表端点使用内置过滤与 list_and_count(),不要自行重写分页逻辑;批量形态的工作负载使用批量辅助方法;除非框架集成显式处理提交,否则事务归属应留在仓库之外。示例模式: from advanced_alchemy.repository import SQLAlchemyAsyncRepository

class PostRepository(SQLAlchemyAsyncRepository[Post]): model_type = Post

实现规则:仓库只负责持久化与查询组合,不承载 HTTP 契约;优先使用仓库子类而非在处理器中散落重复的临时辅助函数;仅当自定义 SQL 或聚合与标准 CRUD 有实质差异时才使用查询仓库;保持 loader options 显式。

校验清单:确认仓库类型与会话类型匹配;确认 model_type 指向预期的映射类;确认列表过滤、计数与分页在真实数据下保持一致;确认批量操作已在目标数据库方言上测试。

跨技能衔接:定义仓库前使用 advanced-alchemy-modeling;处理器需要模式转换或领域规则时使用 advanced-alchemy-services;通过 HTTP 暴露仓库方法时使用 advanced-alchemy-routing 或相应框架技能。

限制:资料未提供具体版本要求、性能数据、收费信息或完整 API 列表,需参考官方文档。