Prisma Studio
使用 Prisma Studio 可视化界面在本地浏览、检查和编辑数据库记录。
Prisma Studio 是数据库的基于浏览器的 GUI。它让您无需编写 SQL 就能浏览表、过滤记录、编辑值和导航关联。
启动 Prisma Studio
pnpm db:studio这将在 http://localhost:5555 启动 Prisma Studio 并在默认浏览器中打开它。它从 .env 文件读取 DATABASE_URL。
只对本地或开发数据库运行 Prisma Studio。永远不要对生产数据库运行它 — 它允许对所有表(包括跨租户数据)进行不受限制的读写访问,且没有审计记录。
可以做什么
| 操作 | 方式 |
|---|---|
| 浏览所有表 | 点击左侧边栏中的任意模型 |
| 过滤记录 | 使用表格上方的过滤栏 |
| 排序记录 | 点击任意列标题 |
| 编辑单元格 | 点击单元格,输入新值,按保存 |
| 添加记录 | 点击工具栏中的绿色 + 按钮 |
| 删除记录 | 选择行并点击删除按钮 |
| 导航关联 | 点击关联字段跳转到关联记录 |
典型使用场景
检查种子数据。 运行 pnpm db:seed 后,打开 Studio 验证种子记录是否正确,然后再针对它们编写应用程序代码。
调试失败的迁移。 如果迁移创建了具有意外值的列,Studio 可以让您在开发期间快速扫描数据并手动修正异常值。
验证 RLS 是否在静默地隐藏记录。 Studio 以服务角色连接并绕过 RLS,因此它显示所有行。这对于确认租户作用域查询返回空结果时数据实际上是否已写入非常有用。
当 withRls 查询意外返回零结果时,打开 Studio 检查记录是否确实存在,以及 tenantId 列是否具有预期值。
浏览 Nebutra 架构
侧边栏按字母顺序列出所有 Prisma 模型。开发过程中需要检查的关键表:
| 表 | 检查内容 |
|---|---|
Organization | 种子组织及其用于测试查询的 id 值 |
User | 种子用户及其 organizationId 成员关系 |
Project | 验证每行的 tenantId 已填充 |
AuditLog | 检查操作是否被正确记录 |
ApiKey | 确认密钥以正确的作用域颁发 |
替代方案:Supabase Studio
如果您使用 Supabase 作为数据库提供商,Supabase 控制台包含一个功能完整的表编辑器,可在开发和生产环境中使用(需要适当的访问控制)。
通过 https://supabase.com/dashboard/project/<project-ref>/editor 访问。
Supabase Studio 相对于 Prisma Studio 的优势:
- 可从任何机器访问(基于浏览器,无需本地进程)
- 可以运行任意 SQL 查询
- 可视化显示 RLS 策略
- 显示实时更新
生产环境中的 Supabase Studio 可以访问所有租户数据。通过 Supabase 的团队角色设置限制其访问 — 只有项目所有者和管理员才应具有生产项目的编辑权限。
停止 Studio
在运行 pnpm db:studio 的终端中按 Ctrl+C。以这种方式停止后,Studio 进程不会在后台运行。
How is this guide?
最后更新于