版本 VS 批准

发布: (2026年3月23日 GMT+8 18:16)
2 分钟阅读
原文: Dev.to

Source: Dev.to

问题

今天我在一个看似简单的 “一条记录在 #index 中未显示” 的 bug‑fix 任务中遇到了一个棘手的问题。

数据情况

Task.pluck(:project_version_id, :is_actual)
#=> [
#     [1, true],
#     [nil, true]
#   ]

既有版本化的记录也有非版本化的记录可以是 :actual。这可能吗?

需要考虑的问题

  • “草稿” 数据是否会以某种 “候场区” 的形式持久化?
  • 更重要的是——访问可能的草稿数据,还是访问可能的最新已批准/实际版本?
  • 哪些操作会产生新版本?

根据答案,你可能会得到以下两种系统之一。

可能的系统

Version vs Approval diagram

对开发者的影响

关键区别在于未版本化数据的意义和重要性。

  • 版本化情况:常规数据是 实际 的,需要特殊访问来获取历史版本数据。
  • 审批模式:未版本化数据的重要性较低,因为它们尚未 批准

自然地,审批工作流会更难以推理,并且需要仔细开发,以传达普通的 project.tasks.actual 并不完全等同于 project.last_approved_version.tasks

0 浏览
Back to Blog

相关文章

阅读更多 »

不,Windows Start 并未使用 React

2026年3月23日 — Pat Hartl Windows 再次成为新闻焦点。这一次,Microsoft 发布了一份标准的企业《Our commitment to Windows quality》https://blogs.windo...