历史记录
basedb 会记录每一次写入的历史,无论来自何处:界面、API、MCP 智能体、公开表单——甚至是在 psql 中手写的 SQL 查询。

不是由应用程序捕获,而是由 PostgreSQL 触发器在写入所在的同一事务中捕获。失败的写入不会留下任何痕迹;成功的写入也不可能被遗漏。修订记录随后会被转存到按月分区的不可变日志中。
身份信息通过在每个事务开始时设置的会话变量传递。不带这些变量的写入——即直接 SQL——会被如实记录,并附上执行它的会话(psql、地址、进程):它绝不会因此被拒绝。
| 执行者 | 显示为 |
|---|---|
| 一个人 | 其姓名 |
| 程序(API)或智能体(MCP) | 创建令牌的人,“通过令牌 …” |
| 公开表单 | “表单‘…’ · 公开回复” |
| 自动化 | “自动化‘…’ · 代表”对其负责的人 |
| 直接 SQL | “直接 SQL 会话” |
- 查看一行的历史记录(其行详情中的“历史记录”标签页),或一张数据表、一个数据库的历史记录(数据库 ⋯ 菜单中的历史记录),并可按数据表筛选。
- 撤销一次修改:逐字段重新应用修改前的值。
- 从“已删除”条目中恢复已删除的行。
- 跟踪结构历史记录(“结构”标签页):创建、修改、删除的数据表和字段。
撤销(Ctrl+Z)
Section titled “撤销(Ctrl+Z)”在网格中,按 Ctrl+Z(Mac 上为 ⌘Z)可撤销您最近一次写入;按 Ctrl+Shift+Z 或 Ctrl+Y 可重做。一条消息会确认撤销了什么——“已撤销:修改‘Montant’”——并附带一个按钮,可取消这次撤销。
可以这样撤销的有:单元格、移动的卡片或条形、创建或删除的行、一次粘贴——以及一次完整的导入,它算作一次操作。每个标签页最多可撤销五十次操作。
这不是界面上的回退:而是一次新的写入,由服务器根据历史记录执行,同样会被记入历史。如果之后有人修改过该行,撤销会被拒绝——“无法撤销:‘Statut’此后已被修改”——而不是覆盖别人的工作。只能以这种方式撤销自己在过去二十四小时内的写入,且绝不能撤销结构变更。在正在输入的单元格中,Ctrl+Z 仍然只撤销文本输入。
历史记录遵循读取权限:对您隐藏的字段不会出现在您查看的修订记录中。
basedb 是 AI 原生软件工作室 Eodia 出品的自由软件。