跳至主要内容

Prisma Studio

Prisma Studio 是一个独立的视觉数据库编辑器,可让您直接在浏览器中查看和操作数据。Prisma 7 推出了一个全新的独立 Studio,它从头开始构建,旨在适用于任何环境,无论是否使用 Prisma ORM。

与以前的版本不同,新的 Prisma Studio 是 SQL 驱动的,完全不依赖 Prisma schema 文件。相反,它直接通过自省数据库来理解 schema 结构。这意味着您可以将其与任何支持的数据库一起使用,而无需 Prisma schema 或项目。

请注意,Prisma Studio 不是开源的,但您仍然可以在 prisma/studio 仓库中创建问题。所有“旧 Studio”问题都将被关闭,因为不会再对以前的版本进行任何工作。

先决条件

Prisma Studio 是一个独立的工具,只需要一个数据库连接。您有两种选择

选项 1:与任何数据库一起使用(无需 Prisma 项目)

使用 --url 标志直接连接到任何支持的数据库

npx prisma studio --url="postgresql://user:password@localhost:5432/dbname"

这种方法无需任何 Prisma ORM 设置——Studio 将直接自省您的数据库 schema。

选项 2:与 Prisma ORM 项目一起使用

如果您有现有的 Prisma 项目,Studio 可以读取您的数据库连接配置

  • 包含数据库连接详细信息的 prisma.config.ts 配置文件
  • 已配置的数据库连接
注意

新的 Studio 不会读取 prisma/schema.prisma 文件。它直接自省您的数据库以理解 schema 结构。

入门

独立使用(不含 Prisma ORM)

要通过任何数据库启动 Prisma Studio,请提供连接 URL

npx prisma studio --url="postgresql://user:password@localhost:5432/dbname"

与 Prisma ORM 项目一起使用

如果您有 Prisma 项目,请在项目目录中运行以下命令

npx prisma studio --config ./prisma.config.ts

这两个命令都启动一个本地 Web 服务器(默认端口 5555)并在您的浏览器中打开 Prisma Studio。Studio 直接连接到您的数据库并实时自省 schema,为您的数据提供可视化界面——无需 Prisma schema 文件。

核心功能

Prisma Studio 为处理数据库提供了几个关键功能

浏览您的数据

Studio 在侧边栏中显示数据库中的所有表。选择任何表以表格格式查看其数据。您可以在单独的选项卡中打开多个表,以同时处理相关数据。

查看和编辑记录

您可以通过两种方式编辑数据

  • 内联编辑:双击任何单元格以直接在表格中编辑其值
  • 侧面板编辑:点击记录旁边的编辑图标以打开包含所有字段的详细视图

更改会累积,必须使用保存按钮显式保存。这使您可以在将更改提交到数据库之前进行多次编辑。

添加新记录

通过点击“添加记录”按钮创建新记录。Studio 根据每个字段的数据类型提供适当的输入控件

  • 字符串的文本字段
  • 整数和小数的数字输入
  • 日期时间字段的日期选择器
  • 枚举和布尔值的下拉列表
  • 外键的关系选择器

删除记录

使用复选框选择一个或多个记录,然后点击删除按钮。删除需要确认并立即应用(不能与其他更改批量处理)。

使用“过滤器”菜单来缩小您的数据范围

  • 使用比较运算符(等于、大于、小于等)添加条件
  • 使用 AND 逻辑组合多个过滤器
  • 清除单个过滤器或一次性清除所有过滤器

控制可见性

自定义您的视图

  • 字段菜单:显示或隐藏特定列
  • 显示菜单:使用“Take”(限制)和“Skip”(偏移量)选项控制分页

排序数据

点击任何列标题以按该字段排序。再次点击可在升序和降序之间切换。

键盘快捷键

Studio 支持常用操作的键盘快捷键。按 Cmd+/ (macOS) 或 Ctrl+/ (Windows) 可查看所有可用快捷键。

理解数据类型

Studio 会显示数据库中不同字段类型的视觉指示器

  • 文本字段:字符串值
  • 数字字段:整数和小数
  • 日期/时间字段:时间戳和日期
  • 布尔字段:真/假值
  • 枚举字段:预定义选项列表
  • 关系字段:引用其他表中的记录(外键)
  • JSON 字段:结构化 JSON 数据

这些视觉提示有助于您快速理解数据结构,因为 Studio 直接从数据库中自省数据。

Prisma Studio 支持的数据库

Prisma Studio 目前支持以下数据库:PostgreSQL、MySQL 和 SQLite。

Prisma Studio 的 SQLite 要求

  • 目前,SQLite 的数据库 URL 中的文件路径必须包含 file: 协议
  • Node.js 22.5+:可直接使用内置的 node:sqlite 模块
    • 可能需要 NODE_OPTIONS=--experimental-sqlite 环境变量
  • Node.js 20:需要安装 better-sqlite3 作为依赖项
  • Deno >= 2.2:通过 内置 SQLite 模块 支持
  • Bun:Prisma Studio 对 SQLite 的支持即将推出,目前尚未可用
使用 npxbetter-sqlite3

如果您的运行时中没有 node:sqlite 可用,或者不想将 better-sqlite3 作为硬依赖项安装(它会增加约 10MB),您可以使用 npx 临时安装所需的包

npx -p better-sqlite3 -p prisma prisma studio --url file:./my_file.db

此命令

  • 临时安装 better-sqlite3,而无需将其添加到您的项目依赖项中
  • 使用指定的 SQLite 数据库文件运行 Prisma Studio
  • 避免了项目中 better-sqlite3 的 10MB 开销

尚未支持的数据库

目前不支持 CockroachDB 和 MongoDB,但可能会在未来的版本中添加。如果您正在使用这些数据库

故障排除

PostgreSQL:“unrecognized configuration parameter 'schema'”错误

连接到 PostgreSQL 数据库时,如果连接字符串包含 schema 查询参数,您可能会遇到此错误

unrecognized configuration parameter "schema"

这是因为新的 Studio 是独立的,它将您的连接 URL 直接传递给 PostgreSQL 驱动程序,而不进行任何处理。您提供的 URL——无论是通过 prisma.config.ts 还是 --url 标志——必须是有效的 PostgreSQL 连接字符串,并且只能使用 标准 PostgreSQL 连接参数

schema 参数是 Prisma ORM 的一个自定义参数,在 v6 及更早版本中有效,但 PostgreSQL 本身不识别它。

要解决此问题,请改用标准 search_path 参数

# ❌ This will cause an error
postgresql://user:password@host:port/database?schema=my_schema

# ✅ Use this instead
postgresql://user:password@host:port/database?options=-c%20search_path%3Dmy_schema

另外,如果您使用的是默认的 public schema,则可以完全删除 schema 参数,因为 PostgreSQL 会自动默认使用它。

有关更多详细信息,请参阅相关的 GitHub 问题

终端:脚本运行失败 / Prisma Client 请求错误

缓存问题可能导致 Prisma Studio 使用旧版本的查询引擎。您可能会看到以下错误

Error in request:  PrismaClientKnownRequestError: Failed to validate the query Error occurred during query validation & transformation

要解决此问题,请删除以下文件夹

  • macOS 和 Linux 上的 ~/.cache/prisma
  • Windows 上的 %AppData%/Prisma/Studio
© . This site is unofficial and not affiliated with Prisma Data, Inc.