Skip to content

Prisma

v5.x
TypeScript

概述

Prisma 是下一代 Node.js 和 TypeScript ORM。它通过声明式的 Schema 定义和自动生成的类型安全客户端,让数据库操作变得简单、安全、高效。

适用后端框架
框架支持状态
NestJS NestJS✅ 完全支持
Express Express✅ 完全支持

技术特性

特性说明
类型安全完整的 TypeScript 类型自动生成
数据库支持PostgreSQL, MySQL, SQLite, MongoDB, SQL Server
迁移方式声明式 Schema + 自动迁移
关系处理自动处理外键和关联查询
可视化工具Prisma Studio 数据管理

Schema 定义

Prisma 使用 .prisma 文件定义数据模型:

schema.prisma

常用命令

bash
        $
        pnpm prisma migrate dev --name init
      

创建并应用数据库迁移。

bash
        $
        pnpm prisma generate
      

重新生成 Prisma Client(Schema 变更后需要执行)。

bash
        $
        pnpm prisma studio
      

打开可视化数据库管理界面。

bash
        $
        pnpm prisma db push
      

快速同步 Schema 到数据库(不创建迁移文件,适合开发阶段)。

CRUD 操作

基础 CRUD

关联查询

关联查询

事务处理

事务

数据库连接配置

.env

NestJS 集成

prisma.service.ts
prisma.module.ts

最佳实践

开发建议
  1. 使用 select/include:只查询需要的字段,避免过度获取
  2. 添加索引:为常用查询条件添加 @@index
  3. 事务处理:关联操作使用事务保证一致性
  4. 软删除:添加 deletedAt 字段实现软删除
  5. 生产迁移:使用 prisma migrate deploy 而非 migrate dev

相关资源

Released under the MIT License.