SuperAPI AI 工具集

backend-prisma

编程与开发

查看项目

更新于 10-16 03:13

技能介绍

用途:Prisma 是面向 TypeScript/Node.js 的下一代数据库 ORM,通过 schema.prisma 定义模型并自动生成 TypeScript 类型,适合构建类型安全的后端与 API(常与 tRPC 搭配)。

主要能力:声明式 schema 与迁移;自动生成客户端类型,schema 变更后类型错误会提示所有需更新处;支持关系查询、include/select、upsert、游标分页、交互式事务($transaction)、$queryRaw 原始 SQL;提供 Prisma.UserGetPayload 等类型工具;可与 Zod 手动同步或通过 zod-prisma-types 生成。版本为 Prisma 6.x/7.x,7 默认 ES module、引入 prisma.config.ts、middleware 弃用。

使用方式:安装 npm install prisma @prisma/client 并执行 npx prisma init;在 schema.prisma 配置 datasource 与 generator;常用命令包括 npx prisma migrate dev --name、npx prisma migrate deploy、npx prisma db push、npx prisma generate、npx prisma migrate reset、npx prisma studio。长驻服务应使用 PrismaClient 单例,避免多实例。

适用场景:PostgreSQL/MySQL/SQLite 的 TypeScript 后端、需要类型安全查询与声明式迁移、关系型数据与关联查询、tRPC API。

限制与注意:复杂原始 SQL 需配合 $queryRaw;极致性能场景可考虑 Drizzle;文档型 MongoDB 或结构特殊的遗留库可能更适合原生驱动。生产环境不要用 db push,团队环境不要跳过迁移;避免 N+1,可用 include 或 relationLoadStrategy: 'join';使用连接池时迁移需配置 directUrl;serverless 中不要调用 $disconnect()。类型未更新时运行 npx prisma generate 并重启 TS 服务。官方文档见 https://prisma.io/docs。