Prisma 中文文档 下载 App

Studio 的关系视图、导出与 VS Code 集成

关系视图

Studio 提供了可视化的 ER 图 / 数据模型关系图:

关系图会根据你的 Schema 定义自动生成,不需要手动维护。Schema 改了后 Studio 刷新一下就能看到更新后的图。

多标签页并行

Studio 支持同时打开多个 model 的表格。每个 model 标签页是独立的:

导出数据

快速导出

顶栏的导出按钮可以把当前 model(带筛选条件后的结果)导出成 CSV 或 JSON:

导出带关联

如果你在 Studio 里展开了关联数据(include 效果),导出时可以选择是否包含关联字段。

Studio 的非开源部分

Prisma Studio 是 Prisma ORM 三件套里唯一非开源的组件。但:

Prisma Client 和 Prisma Migrate 都是 MIT 协议开源的。

VS Code 集成

Prisma VS Code 扩展 + Studio

如果你装了 Prisma 的 VS Code 扩展,在 schema.prisma 文件里:

Schema 语法检查

VS Code 扩展提供实时语法和类型检查:

这个扩展在 Schema 复杂起来后(关系多了、枚举多了)尤其有价值——手写出错的概率大大降低。

Studio 嵌入到自己的应用

Prisma 还提供了把 Studio 嵌入到你自己的 Web 应用里的能力。如果你的用户需要数据编辑功能(比如管理后台、CMS),可以在 Next.js API Route 或 Express 路由里代理 Studio:

// Next.js API Route: /api/studio.ts
import { PrismaStudioMiddleware } from '@prisma/studio-server'
import { PrismaClient } from '@prisma/client'

const prisma = new PrismaClient()
const studio = new PrismaStudioMiddleware({ prisma })

export default studio.handle.bind(studio)

注意这个功能目前仍在演进中,以官方文档为准。另外嵌入 Studio 等于把数据编辑权限开放给能访问这个路由的人,一定要加鉴权中间件。