Steve Data Modeling: เชี่ยวชาญกลยุทธ์การควบคุมเวอร์ชัน
บทนำ:
ในบล็อกนี้ เราจะสำรวจสองแนวทางที่ต่างกันในการจัดการเวอร์ชันของเรกคอร์ดในการสร้างโมเดลข้อมูล ให้มุมมองและกลยุทธ์ในการจัดการเรกคอร์ดหลายเวอร์ชันและเรกคอร์ดลูกที่เกี่ยวข้องอย่างมีประสิทธิภาพ
กลยุทธ์เหล่านี้จำเป็นสำหรับผู้ออกแบบที่ทำงานกับโมเดลออบเจกต์ที่การควบคุมเวอร์ชันเป็นเรื่องสำคัญ
ทำความเข้าใจแนวทางการกำหนดเวอร์ชันของเรกคอร์ด
มีสองแนวทางหลักในการจัดการเวอร์ชันของเรกคอร์ด:
- แนวทางเรกคอร์ดระดับเดียวกัน (Peer Records)
- แนวทางเวอร์ชันลูก (Child Versions)
มาลงลึกในแต่ละแนวทางเพื่อเข้าใจการ implement ข้อดี และข้อเสียของมัน
แนวทางเรกคอร์ดระดับเดียวกัน
ในแนวทางเรกคอร์ดระดับเดียวกัน แต่ละเวอร์ชันของเรกคอร์ดถูกสร้างเป็นเรกคอร์ดแยกที่เท่าเทียมกันภายใต้ออบเจกต์ระดับบน วิธีนี้ตรงไปตรงมา และเห็นได้จากวิธีที่ Salesforce implement quote ภายใต้ opportunity

การ implement:
แต่ละเวอร์ชันเป็นเรกคอร์ดแยกภายใต้ออบเจกต์ระดับบน
คุณระบุให้เรกคอร์ดหนึ่งเป็นตัวหลักได้ แต่ทุกเวอร์ชันมองเห็นได้ใน list view, related list และรายงาน
ข้อดี:
- เรียบง่ายและ implement ได้ตรงไปตรงมา
ข้อเสีย:
- ทุกเวอร์ชันมองเห็นได้ ทำให้แยกแยะยาก
- ไม่มีการเชื่อมโยงหรือ audit trail ที่ชัดเจนระหว่างเวอร์ชันต่างๆ
ถ้าไม่มีการบังคับใช้ที่เหมาะสม อาจมีเรกคอร์ดหลักหรือเรกคอร์ดที่กำลังดำเนินการหลายรายการ
แนวทางเวอร์ชันลูก
แนวทางเวอร์ชันลูกเกี่ยวข้องกับการสร้างออบเจกต์สองระดับ: ออบเจกต์แม่ระดับบน และออบเจกต์ลูกสำหรับแต่ละเวอร์ชัน วิธีนี้ทำให้มีระบบการกำหนดเวอร์ชันและบันทึกการเปลี่ยนแปลงที่สะอาด

การ implement:
- ออบเจกต์ระดับบนแทนการกำหนดค่า (configuration) โดยมีออบเจกต์ลูกแทนแต่ละเวอร์ชัน
- แต่ละเวอร์ชันลูกเพิ่มหมายเลขอัตโนมัติและมีสถานะ (เช่น เก็บถาวร active รอดำเนินการ)
- เวอร์ชันที่ active ถูกล็อกและใช้ใน production ขณะที่เวอร์ชันร่างแก้ไขได้
- เมื่อเปิดใช้งานเวอร์ชันร่าง มันจะกลายเป็น active และเวอร์ชันที่ active ก่อนหน้าจะถูกเก็บถาวร
ข้อดี:
- ให้ audit trail และเอกสารประวัติที่ชัดเจน
- รับประกันว่ามีเวอร์ชันที่ active เพียงหนึ่งเดียวในแต่ละครั้ง
- เรกคอร์ดที่เก็บถาวรทำหน้าที่เป็นบันทึกประวัติที่ไม่ถูกแก้ไข
ข้อเสีย:
- อาจดูซับซ้อนสำหรับผู้ใช้บางคน แต่จำเป็นสำหรับกระบวนการสำคัญอย่าง flow
ตัวอย่างการ implement ของ Salesforce

Salesforce implement แนวทางที่คล้ายกันกับ flow ใน Salesforce มีออบเจกต์ flow ระดับบนที่มีเวอร์ชัน flow เป็นลูก แต่ละเวอร์ชันเพิ่มหมายเลขอัตโนมัติ ให้บันทึกประวัติละเอียดของแต่ละ flow วันที่สร้าง และวันที่เปิดใช้งาน
การ implement นี้รับประกันว่ามี flow ที่ active เพียงหนึ่งเดียวในแต่ละครั้ง ให้กลไกการควบคุมเวอร์ชันที่เชื่อถือได้และมีประสิทธิภาพ
ส่วนที่ 5: บทสรุป
การเข้าใจและเลือกแนวทางที่ถูกต้องสำหรับการกำหนดเวอร์ชันของเรกคอร์ดสำคัญมากในการสร้างโมเดลข้อมูล แม้แนวทางเรกคอร์ดระดับเดียวกันจะเรียบง่าย แนวทางเวอร์ชันลูกให้การควบคุมมากกว่าและ audit trail ที่มีประสิทธิภาพ ด้วยการศึกษาการ implement ของ Salesforce และพิจารณาความท้าทายในการสร้างโมเดลข้อมูลเฉพาะของคุณ คุณเลือกแนวทางที่เหมาะกับความต้องการของคุณที่สุดได้
ติดตามต่อ!
สำหรับมุมมองและเคล็ดลับเพิ่มเติม ติดตามได้ที่ www.SteveTechArc.com และช่อง YouTube @SteveTechArc (opens in a new tab) กดติดตามแล้วมาเพิ่มความเฉียบคมด้านการสร้างโมเดลข้อมูลไปกับเรา!
ช่วยเปลี่ยนโลกด้วยการแบ่งปันความคิดเจ๋งๆ กับเพื่อนสถาปนิกและผู้ที่อยู่บนเส้นทางสู่การเป็นสถาปนิก!
บทถอดความได้รับความช่วยเหลือจาก AI
STA 2.1