【问题标题】:I'm storing code snippets in my database. How can I enable revisions/versions of them?我将代码片段存储在我的数据库中。如何启用它们的修订/版本?
【发布时间】:2026-02-09 09:25:01
【问题描述】:

我现在有一个非常原始的表模式(在 Postgres 中):

CREATE TABLE "public"."sandbox_demo" (
    "id" int4 DEFAULT nextval('sandbox_demo_id_seq'::regclass) NOT NULL,
    "source" text DEFAULT NULL NOT NULL,
    "created" timestamptz(6) DEFAULT NULL NOT NULL,
    "modified" timestamptz(6) DEFAULT NULL NOT NULL
)

但是,这个表只支持普通条目,没有父子关系或映射表,所以我可以修改初始代码 sn-p。

为了支持每个初始代码 sn-p 的修订,理想的方法是什么?

【问题讨论】:

  • 在数据库中存储代码听起来很奇怪。你这样做有什么具体原因吗?
  • Errr.. 我正在存储我正在记录的浏览器错误复制的 HTML 源代码。有点像 jsfiddle.net。

标签: sql database database-design postgresql


【解决方案1】:

添加一个可以为空的parent_id 以便您可以跟踪原始的sn-p?

【讨论】:

  • 我就是这么想的,但我想知道如何使用诸如/initial-bug-id/revision-id/ 之类的url 模式?如果给我说/204/3,那么我会抓取parent_id204 的所有行,然后按创建日期排序并抓取第三个?或者使用映射+额外的表格会更容易吗?
  • @Meder:获得第三行是一种选择,但这取决于您是否要保存完整的树。在这种情况下,您将需要递归查询来获取错误的第三版。
最近更新 更多