แก้ไขข้อขัดแย้งของ Logical ID ใน Microsoft Fabric

เมื่อคุณทํางานกับพื้นที่ทํางานที่เชื่อมต่อ Git ใน Fabric คุณอาจพบสถานการณ์ที่รายการในพื้นที่ทํางานของคุณและรายการในสาขา Git ของคุณมีชื่อและชนิดเดียวกัน แต่รหัสตรรกะต่างกัน ความไม่ตรงกันนี้จะทริกเกอร์คําเตือนการเขียนทับข้อมูลเมตา และกําหนดให้คุณต้องตัดสินใจว่าจะเก็บรหัสตรรกะใดไว้

บทความนี้จะอธิบายว่ารหัสเชิงตรรกะคืออะไร เหตุใดจึงเกิดข้อขัดแย้ง และวิธีแก้ไขอย่างปลอดภัย

รหัสเชิงตรรกะคืออะไร

เมื่อพื้นที่ทํางาน Fabric ของคุณเชื่อมต่อกับสาขา Git ทุกรายการในพื้นที่ทํางานจะเชื่อมโยงกับรหัสตรรกะที่กําหนดไว้ในสาขานั้น รหัสเหล่านั้นแสดงถึง "เอกลักษณ์" ของแต่ละรายการในพื้นที่ทํางาน Fabric รหัสตรรกะคือตัวระบุข้ามพื้นที่ทํางานที่สร้างขึ้นโดยอัตโนมัติ ซึ่งเชื่อมต่อรายการในพื้นที่ทํางานกับรายการที่สอดคล้องกันในสาขา Git ไอเท็มที่มีรหัสตรรกะเดียวกันจะถือว่าเหมือนกัน

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับรหัสตรรกะและวิธีที่ Fabric แสดงรายการในการควบคุมแหล่งที่มา โปรดดู เอกสารประกอบรูปแบบซอร์สโค้ดการรวม Git

ความขัดแย้งของ Logical ID คืออะไร

ความขัดแย้งของ Logical ID เกิดขึ้นเมื่อ Fabric ตรวจพบสองรายการที่มีชื่อและประเภทรายการเดียวกัน แต่ Logical ID ต่างกัน โดยรายการหนึ่งในพื้นที่ทํางานและอีกรายการหนึ่งในสาขาที่เชื่อมต่อ Git เนื่องจาก Logical ID เป็นคีย์การผูกที่ไม่ซ้ํากันระหว่างรายการ Fabric และการแสดง Git การไม่ตรงกันหมายความว่า Fabric ไม่ทราบว่าเวอร์ชันใดควรได้รับการปฏิบัติเป็นข้อมูลประจําตัว "ที่แท้จริง" ของรายการ

เมื่อตรวจพบข้อขัดแย้ง คุณจะเห็นกล่องโต้ตอบยืนยันการเขียนทับข้อมูลเมตาที่คล้ายกับข้อความต่อไปนี้:

สกรีนช็อตของการยืนยันการเขียนทับข้อมูลเมตา

ข้อขัดแย้งนี้บ่งชี้ว่ารายการพื้นที่ทํางานของคุณมีรหัสตรรกะที่แตกต่างจากรุ่นของรายการที่มาจากตัวควบคุมแหล่งที่มา

การยืนยันการดําเนินการส่งผลให้รหัสตรรกะจากตัวควบคุมต้นทางของคุณแทนที่รหัสตรรกะของรายการที่ตรงกันภายในพื้นที่ทํางาน

สถานการณ์ทั่วไปที่นําไปสู่ความขัดแย้ง

รหัสตรรกะไม่ตรงกันอาจเกิดขึ้นเมื่อคุณ:

สถานการณ์สมมติ คำอธิบาย
เชื่อมต่อพื้นที่ทํางานกับโฟลเดอร์ Git ที่ไม่ว่างเปล่า หากที่เก็บ Git มีรายการที่ตรงกับรายการพื้นที่ทํางานตามชื่อและชนิด แต่มีรหัสตรรกะที่แตกต่างกัน Fabric จะแจ้งให้คุณยืนยันการเขียนทับข้อมูลเมตาของพื้นที่ทํางาน
สลับไปยังสาขาอื่น การเปลี่ยนสาขาอาจนําข้อกําหนดรายการที่ไม่ได้ใช้รหัสตรรกะเดียวกันกับเวอร์ชันพื้นที่ทํางาน
แยกสาขาไปยังสาขาใหม่ตามสาขาอื่นที่ไม่ใช่สาขาที่เชื่อมต่อ แนะนําสายข้อมูลที่สองที่ไม่เกี่ยวข้องกันของข้อมูลประจําตัวของรายการลงในพื้นที่ทํางานที่แม็ปกับสาขา Git ที่เฉพาะเจาะจงแล้ว
ขยายไปยังพื้นที่ทํางานที่มีอยู่ซึ่งมีรายการ เมื่อแยกสาขาออกจากพื้นที่ทํางานไปยังพื้นที่ทํางานที่มีอยู่ซึ่งมีรายการอยู่แล้ว Fabric จะจัดตําแหน่งข้อมูลเมตาของพื้นที่ทํางานเป้าหมายให้ตรงกับสาขาที่เชื่อมต่อใหม่ซึ่งสร้างขึ้นจากข้อมูลเมตาของสาขาพื้นที่ทํางานต้นทาง

การแก้ไขข้อขัดแย้งของ Logical ID

เมื่อเกิดข้อขัดแย้ง คุณต้องตัดสินใจว่าจะเขียนทับข้อมูลเมตาของพื้นที่ทํางานหรือเก็บไว้

ตัวเลือกที่ 1: เขียนทับข้อมูลเมตาของพื้นที่ทํางาน (ใช้เวอร์ชัน Git)

หากคุณยืนยันการเขียนทับ ให้ทําดังนี้

  • รหัสตรรกะจากตัวควบคุมแหล่งที่มาจะแทนที่รหัสตรรกะที่มีอยู่ในพื้นที่ทํางาน
  • ขณะนี้ข้อมูลเมตาของพื้นที่ทํางานตรงกับเวอร์ชัน Git

ใช้ตัวเลือกนี้เมื่อคุณต้องการให้พื้นที่ทํางานสอดคล้องกับสาขา Git ของคุณอย่างสมบูรณ์

ผลกระทบต่อระบบอัตโนมัติที่มีอยู่

โดยการเลือกที่จะเขียนทับข้อมูลเมตาของพื้นที่ทํางาน คุณจะแทนที่รหัสตรรกะที่มีอยู่ในพื้นที่ทํางานด้วยเวอร์ชันที่มาจาก Git การดําเนินการนี้อาจทําลายระบบอัตโนมัติที่มีอยู่ซึ่งอาศัยรหัสตรรกะปัจจุบันเพื่อระบุรายการอย่างสม่ําเสมอ การเปลี่ยนรหัสตรรกะเหล่านั้นทําให้รายการพื้นที่ทํางานเป็น "ใหม่" จากมุมมองของเวิร์กโฟลว์เหล่านั้นอย่างมีประสิทธิภาพ ด้วยเหตุนี้ งานดาวน์สตรีมอาจล้มเหลวในการค้นหารายการ ข้ามการอัปเดต หรือสร้างรายการที่ซ้ํากันจนกว่าตรรกะระบบอัตโนมัติจะได้รับการอัปเดตเพื่อจดจําข้อมูลประจําตัวใหม่

ตัวเลือกที่ 2: เก็บข้อมูลเมตาของพื้นที่ทํางานที่มีอยู่ (เก็บเวอร์ชันพื้นที่ทํางาน)

หากคุณต้องการรักษารหัสตรรกะของพื้นที่ทํางาน:

  • อย่ายืนยันการเขียนทับ
  • อัปเดตที่เก็บ Git ของคุณด้วยรหัสตรรกะที่มีอยู่ในพื้นที่ทํางานในปัจจุบัน

คุณสามารถทําได้โดย:

  • เช็คเอาท์หรือยอมรับกับสาขาอื่นและดึงข้อมูลเมตาของพื้นที่ทํางานไปยัง Git หรือ
  • การเปลี่ยนชื่อรายการใน Git ซึ่งทําให้ Fabric ถือว่าเป็นการดําเนินการเพิ่ม/ลบแทนการอัปเดตที่ขัดแย้งกัน