SuperAPI AI 工具集

advanced-alchemy-database-seeding

数据与分析

查看项目

更新于 10-15 16:48

技能介绍

用途:为使用 Advanced Alchemy 的项目填充数据库、加载 fixture 数据。

主要能力与用法:将 fixture 以 JSON 对象或对象数组形式存放在专门的 fixtures 目录;同步代码用 open_fixture(),异步代码用 open_fixture_async();在真实 session 中创建仓储实例,分批加载记录。示例:product_data = await open_fixture_async(fixtures_path, "product"),随后 await product_repo.add_many([Product(**item) for item in product_data]) 并 await db_session.commit()。

实施规则:fixture 文件与应用代码一起版本管理;非小数据集用 add_many() 或 upsert_many() 而非逐行插入;显式区分开发、测试、生产种子数据;不要把播种隐藏在正常请求路径中;先播种父表再播种子表,尽量保证幂等。

接入方式:可挂到启动钩子、专用命令或一次性脚本,视环境需求而定。

校验清单:确认 fixture 包含模型全部必填字段;确认重复运行不会产生错误重复或破坏外键;确认批量操作仅在数据集通过校验后提交;确认目标环境与数据规模适合在框架启动时播种。

相关技能:advanced-alchemy-cli 用于导出 fixture 数据或配合迁移流程;advanced-alchemy-litestar、advanced-alchemy-fastapi、advanced-alchemy-flask 用于框架启动集成;advanced-alchemy-repositories 用于依赖仓储辅助函数的自定义播种逻辑。

限制:资料未提供具体版本要求、性能数据或收费信息。