SuperAPI AI 工具集

prisma

编程与开发

查看项目

更新于 10-15 21:42

技能介绍

用途:用于 FMC 项目的 schema.prisma 编写与维护。关系字段名是 Prisma Client API 名,不映射数据库名。

命名规则:模型用单数 PascalCase,如 User、Region、QaConfig;字段用 camelCase,如 createdAt、maskBufferKm;外键标量用 {name}Id,如 regionId、headerLogoId;to-one 关系用单数 camelCase,如 user User、contract RegionContract?;to-many 关系用复数 camelCase,如 memberships Membership[]、qaConfigs QaConfig[]。数据库名放在 @map / @@map,不要把 DB 命名照搬进 Prisma 关系字段。

关系规则:不要添加 Membership、Note、LogEntry 这类 PascalCase 关系字段;简单列表名由关联模型复数化,如 Note[] → notes、NoteComment[] → noteComments;同一模型有多组关系时用角色名,如 projectRecordsAuthored、uploadsCreated;仅在需要消歧时加 @relation("RoleName"),@relation("Name") 只用于消歧,不是 Prisma Client 字段名;连接/分配模型建议用可读名,如 categoryAssignments、navigationLinks、layerConfigs。

审计规则:用户可编辑的表强烈建议带 createdBy、updatedBy 关系,且各配一个外键标量(createdById / updatedById):*Id 是数据库列,关系字段仅供 Prisma Client 连接(include / 等),不是第二个存储字段;若需超出 createdBy / updatedBy 的审计轨迹,使用 @explita/prisma-audit-log 与审计上下文,不要自造日志表。

工作流:新增 schema 时按单数模型、camelCase 标量、{name}Id 外键、按基数写关系、歧义处命名关系,然后运行 bun prisma generate 或应用脚本。重命名关系字段只需改 schema.prisma,重命名本身无需数据库迁移;重新生成 Prisma Client,在 include、select、_count 和嵌套写入中检索旧名,更新 TypeScript 并运行检查。未部署的 PR 本地迁移可压缩为表达最终 schema 的最少文件,但已应用到线上数据库的迁移不要压缩。

相关:数据库检查见 skill tech-stack 的 references/cursor-mcp.md;Better Auth 适配器见 skill tanstack-start-auth;未部署 PR 本地迁移压缩见 skill unslop-code 的 references/undeployed-wip.md。暂未提供收费、价格与平台信息。