SuperAPI AI 工具集

vendure-entity-writing

编程与开发

查看项目

更新于 10-16 00:29

技能介绍

用途:指导创建符合 Vendure 与 TypeORM 规范的数据库实体,适用于新增或扩展 Vendure 数据模型时。

主要能力:要求实体继承 VendureEntity、使用 @Entity() 装饰器、DeepPartial 构造输入、正确类型的 @Column()、外键索引、关系装饰器,并通过 TransactionalConnection 查询;禁止直接访问 repository、用 any 类型、把日期存为字符串、缺少迁移文件。

使用方式:先定义实体类并添加关系,再在 @VendurePlugin 的 entities 中注册,然后生成迁移,例如 npm run migration:generate -- --name=AddMyEntity 或 npx typeorm migration:generate -d ./src/migrations -n AddMyEntity;服务层用 TransactionalConnection 的 getRepository 进行增删改查。

常见模式:渠道感知实体实现 ChannelAware 并关联 Channel;软删除实现 SoftDeletable 并使用 @DeleteDateColumn;通过插件 configuration 向已有实体添加自定义字段;JSON 列用 simple-json、simple-array;日期用 timestamp,仅日期比较可存 varchar(10)。

适用场景:需要为 Vendure 插件或业务扩展新增数据表、关系、自定义字段与迁移时。

限制:不适用于仅编写插件结构、仅编写 GraphQL schema 或审查实体;资料未提供收费、价格、平台与效果信息。