由 AI 翻譯,尚未經過社群審閱。 閱讀英文版

部落格 · 2023年9月8日 · Steve Simpson · 資料架構

Steve 資料建模:掌握版本控制策略

引言:

在這篇部落格中,我們將探討在資料建模中處理記錄版本的兩種不同方式,為你提供見解和策略,幫助你高效地管理記錄的多個版本及其相關的子記錄。

對於那些在版本控制至關重要的物件模型上工作的設計者來說,這些策略必不可少。

理解記錄版本的處理方式

處理記錄版本主要有兩種方式:

  1. 對等記錄方式
  2. 子版本方式

我們來深入瞭解每種方式,理解它們的實現、優點和缺點。

對等記錄方式

在對等記錄方式中,記錄的每個版本都作為頂層物件下一條獨立、平等的記錄來建立。這種方法簡單直接,Salesforce 在商機下實現報價的方式就是一個例子。

方案 1,對等記錄:每個版本都是商機下一個獨立的報價。優點:模型簡單。缺點:每個版本都會出現在清單檢視和報表中,記錄之間沒有清晰的關聯,而且可能同時有多個處於活動或草稿狀態

實現:

每個版本都是頂層物件下的一條獨立記錄。

你可以把其中一條記錄標為主記錄,但所有版本都會出現在清單檢視、相關清單和報表中。

優點:

缺點:

如果沒有適當的約束,可能會出現多條主記錄或進行中的記錄。

子版本方式

子版本方式需要建立兩層物件:一個頂層父物件,以及每個版本對應的一個子物件。這種方式能實現乾淨的版本控制和變更日誌系統。

方案 2,子版本:一個 Configuration 父物件,下面是 Configuration Version 子物件及其各自的子物件。優點:清晰的版本控制和變更歷史,只有一個活動版本,歸檔的版本不能被修改。缺點:模型更復雜,而且必須強制執行狀態規則

實現:

  1. 一個頂層物件代表配置,子物件代表每個版本。
  2. 每個子版本自動遞增編號,並有一個狀態(例如已歸檔、活動、待定)。
  3. 活動版本被鎖定並用於生產,而草稿版本可以編輯。
  4. 一個草稿被啟用後,它就成為活動版本,而之前的活動版本會被歸檔。

優點:

缺點:

Salesforce 的實現示例

截圖:一個 Salesforce Flow 的詳細資訊頁面,顯示它的 Flow 版本清單,其中一個為活動版本

Salesforce 在 Flow 上實現了類似的方式。在 Salesforce 中,有一個頂層的 Flow 物件,下面是子 Flow 版本。每個版本自動遞增編號,為每個 Flow 及其建立和啟用日期提供詳細的歷史記錄。

這種實現確保同一時間只有一個 Flow 處於活動狀態,提供了一種可靠而高效的版本控制機制。

第 5 部分:結論

理解並選擇合適的記錄版本處理方式,在資料建模中至關重要。對等記錄方式簡單,而子版本方式提供更多的控制和高效的稽核軌跡。通過研究 Salesforce 的實現,並考慮你具體的資料建模挑戰,你就可以選出最適合自己需求的方式。

敬請關注!

想獲得更多見解和技巧,請繼續關注 www.SteveTechArc.com 和 YouTube 頻道 @SteveTechArc (opens in a new tab)。訂閱,和我們一起提升你的資料建模功力!

與架構師同行以及正走在架構師之路上的人分享有趣的想法,一起改變世界!

轉錄藉助了 AI

STA 2.1