SuperAPI AI 工具集

data-seeder-generator

编程与开发

查看项目

更新于 10-16 05:52

技能介绍

用途:为 ABP Framework 项目生成符合项目约定与 ABP 最佳实践的数据种子贡献者,即实现 IDataSeedContributor 的类,用于初始化、引用或查找数据的写入。常见用途包括添加初始查找/引用数据(如分类、类型、枚举)、系统默认配置数据、多租户默认数据、带种子内容的数据迁移,以及测试/开发数据填充。

主要能力:生成前自动探测项目结构,无需手工配置。探测内容包括解决方案与项目名、各 .csproj 所属层(Domain、Domain.Shared、Application、EntityFrameworkCore、DbMigrator、HttpApi.Host)、根命名空间、既有 seeder 的构造函数风格、日志格式、存在性检查方式(AnyAsync/FirstOrDefaultAsync)、插入方式(InsertAsync/InsertManyAsync)、UoW 用法、是否使用 IClientSeedingService、是否使用特性开关及命名空间约定;同时扫描实体属性与必填字段、Domain.Shared 常量、枚举、权限常量、多租户配置与 seeder 常见存放位置,并汇总为项目画像供后续生成使用。

生成内容:按作用域自动选择位置,领域/实体相关放 Domain/Entities/{EntityPlural},系统级放 Domain/Data,多租户或 Blob 存储相关放 DbMigrator。生成的类实现 IDataSeedContributor 与 ITransientDependency,包含 SeedAsync(DataSeedContext) 方法,并覆盖仓库型、带 autoSave 的批量插入、多租户感知、特性开关控制、用户/角色创建(IdentityUserManager)以及 Blob 存储文件种子等模式,含存在性检查、结构化日志与异常处理。

使用方式:由技能在自动化流程中运行,先执行资料中给出的探测命令(如 find、grep)识别环境,再按项目画像生成代码。核心命令包括 find . -name "*.sln" | head -3 与 find . -name "DataSeed" -o -name "SeedContributor"。

限制:生成依赖项目已有约定,若未找到既有 seeder 则使用资料给出的回退模式;Blob 存储等依赖需用户显式提出;具体安装方式与调用命令未提供;未提供收费、价格与效果信息。