SuperAPI AI 工具集

prisma

数据与分析

查看项目

更新于 10-16 08:11

技能介绍

用途:该技能用于在项目中处理 Prisma ORM 与 PostgreSQL 数据库操作,覆盖数据库 schema、迁移、查询以及 @projectx/db 包相关任务。

主要能力:数据库 schema 与客户端位于 packages/db/,其中 prisma/schema.prisma 为数据库 schema,migrations/ 保存迁移历史,seed.ts 为种子脚本;src/lib/ 下包含 NestJS 的 prisma.service.ts 以及按模型划分的仓储服务。支持基础模型定义、关系、枚举、索引、@@map 显式表名,以及通过 Unsupported("geometry(Point, 4326)") 使用 PostGIS 几何类型。查询方面支持过滤、分页、排序、include 关联、$transaction 事务,以及针对 PostGIS 的 $queryRaw 原生 SQL。

使用方式:常用命令包括 pnpm prisma:generate(schema 变更后生成客户端)、pnpm prisma:migrate:dev(开发环境创建并应用迁移)、pnpm prisma:migrate(生产环境应用迁移)、pnpm prisma:seed(填充数据库)、pnpm --filter @projectx/db exec prisma studio(打开 Prisma Studio)。迁移流程为:修改 schema.prisma,执行 pnpm prisma:migrate:dev --name descriptive_name 生成迁移,在 prisma/migrations/ 中审查,本地测试后再提交,生产环境执行 pnpm prisma:migrate。种子脚本可使用 upsert 避免重复数据。

适用场景:需要维护数据库 schema、编写迁移、实现仓储服务与查询、处理事务或 PostGIS 空间查询的项目。

限制与建议:建议在控制器中使用仓储服务而非直接调用 Prisma;为频繁查询字段添加索引;关联操作使用事务;迁移命名应具描述性;数据库操作前在应用层校验数据。资料未提供收费、价格、平台支持范围等信息。