SuperAPI AI 工具集

prisma

编程与开发

查看项目

更新于 10-16 01:15

技能介绍

用途:Prisma 是面向 Node.js 与 TypeScript 的类型安全 ORM,用于以 schema 优先方式定义数据模型、生成类型安全查询客户端并管理数据库迁移。

主要能力:schema 优先的数据建模;自动生成的查询客户端;面向 PostgreSQL、MySQL、SQLite、MongoDB、SQL Server、CockroachDB 的声明式迁移系统。

使用方式与注意点:资料强调其 API 随版本变化,使用前须先获取实时文档核对,不要假定某 API 或配置项存在。$transaction([]) 只用于相互独立的写入,不能把前一步结果(如生成的 ID)传给下一步;有依赖时用嵌套写入,需要在查询间做条件判断时用交互式事务 $transaction(async (tx) => { ... })。dataloader 只自动批处理 findUnique(),不批处理 findMany(),在逐记录的循环或解析器中用 findMany() 仍会产生 N+1 查询,可改用单次父查询加 include、relationLoadStrategy: "join" 或带 fluent API 的 findUnique()。服务端函数中不要创建多个 PrismaClient 实例,每个实例各自开启连接池,在 Vercel、AWS Lambda、Cloudflare Workers 等环境会迅速耗尽数据库连接上限,应导出模块级单例并在开发环境防止热更新重复实例化。需提交整个 prisma/migrations/ 目录而非仅 schema.prisma,因为自定义迁移 SQL 与 migration_lock.toml 无法从 schema 还原,否则 CI 中 migrate deploy 会失败。MongoDB 不支持 Prisma Migrate,应使用 prisma db push 同步 schema。

适用场景:Node.js/TypeScript 项目中需要类型安全数据库访问、声明式迁移与多数据库支持的场景。

限制:官方文档中未提供的具体功能、收费、价格与平台细节,暂未提供。