Navicat、DataGrip、DBeaver在渲染 BOOLEAN 类型字段时的一种特殊“视觉风格”
文章目录
- 前言
- ✅ 为什么 Boolean 字段显示为 `[ ]`?
- ✅ 如何验证实际数据类型?
- ✅ 小结
前言
看到的 deleted: [ ]
并不是 Prisma 的问题,而是数据库客户端(如 Navicat、DataGrip、DBeaver)在渲染 BOOLEAN 类型字段时的一种特殊“视觉风格”。
✅ 为什么 Boolean 字段显示为 [ ]
?
这是一种客户端的布尔值图标展示风格:
数据库值 | 客户端显示 | 含义 |
---|---|---|
false | [ ] (空框) | 未勾选,布尔值为 false |
true | [✓] 或 [✔] | 已勾选,布尔值为 true |
在 Prisma 中你定义的是:
deleted Boolean @default(false)
所以默认值是 false
,在数据库里确实是布尔值,但一些工具将其渲染成带方框的 UI 元素。
✅ 如何验证实际数据类型?
你可以在数据库中运行原始 SQL 验证:
SELECT id, deleted, pg_typeof(deleted) FROM "User";
输出中会显示类型为 boolean
,说明 [ ]
并不是数组,而只是Boolean 类型的 false 被 UI 误解读了。
✅ 小结
现象 | 解释 |
---|---|
deleted: [ ] | 客户端渲染 boolean false 的“视觉表示” |
实际类型 | PostgreSQL 中 boolean 类型 |
Prisma 映射 | 正确映射为 Boolean |
解决方法 | 无需修改,除非你要改为软删除机制(如 deletedAt 时间戳) |