ลำดับการนำเข้าการกำหนดค่าและการปรับปรุงโมดูลใดที่ควรเรียกใช้


10

เนื่องจากโมดูลเวอร์ชันสกีมาถูกเก็บไว้ในหน่วยเก็บคีย์ - ค่ามันไม่ซ้ำกันสำหรับแต่ละไซต์และไม่ซิงค์ผ่านการจัดการการกำหนดค่า เนื่องจากการอัปเดตอาจต้องทำการปรับแต่งที่ไม่ได้อยู่ในการกำหนดค่า (เช่นการอัพเดทฐานข้อมูล) แต่มีการเปลี่ยนแปลงอื่น ๆ ที่อาจรวมอยู่ในการกำหนดค่า (เช่นการเพิ่มค่าการกำหนดค่าใหม่)

  • มีความเสี่ยงใด ๆ หรือไม่ที่จะรันการนำเข้าการกำหนดค่าและการอัพเดทฐานข้อมูลในลำดับใด ๆ
  • คำสั่งซื้อที่พึงประสงค์สำหรับการใช้งานการดำเนินการเหล่านั้นคืออะไร
  • การอัพเดท hooks จำเป็นต้องสร้างที่พักพิเศษสำหรับรายการปรับแต่งที่อาจมีการนำเข้ามาแล้วหรือไม่?
  • มีการดำเนินงานอื่น ๆ ที่อาจจำเป็นต้องปรับปรุงสภาพแวดล้อมการผลิตอย่างเต็มที่หรือไม่?

ปัญหาที่เกี่ยวข้อง: drupal.org/node/2901418 :
milkovsky

คำตอบ:


12

ต้องทำการอัพเดตก่อนที่จะนำเข้าการกำหนดค่า

ปัญหาที่ค้างอยู่กับหลักจะให้แน่ใจว่ารหัสและสคีรุ่นตรงกับการกำหนดค่าก่อนที่จะอนุญาตให้นำเข้า


ปัญหาเกี่ยวกับการนำเข้าการกำหนดค่าก่อนการอัพเดท

  • เบ็ดการอัพเดทที่ใช้ค่าการกำหนดค่าอาจสิ้นสุดลงในผลลัพธ์ที่แตกต่างจากการรันด้วยค่าที่นำเข้าล่วงหน้า

  • การอัปเดตอาจล้มเหลวหากพยายามสร้างเอนทิตีการกำหนดค่าที่มีอยู่แล้ว

ข้อกังวลเกี่ยวกับการนำเข้า config หลังจากการอัพเดท

  • หากการอัปเดตที่นำเสนอเอนทิตีการกำหนดค่าใหม่ถูกเรียกใช้ก่อนมันจะสร้างรายการการกำหนดค่าใหม่ที่จะมี UUID ที่แตกต่างจากที่อยู่ในการกำหนดค่า อย่างไรก็ตามเมื่อนำเข้าการกำหนดค่าแล้วควรเปลี่ยนเอนทิตีด้วยเวอร์ชันการกำหนดค่า

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


ก่อนหน้านี้ฉันได้ทิ้งคำตอบไว้ว่าคำสั่งนั้นไม่สำคัญ (เพียงว่าลำดับของการอัปเดตและการกำหนดค่าควรเป็นแบบเดียวกันกับที่มีการใช้งาน) ฉันคิดว่าฉันผิดเพราะคุณควรส่งออกการกำหนดค่าหลังจากอัปเดตเสมอ ดังนั้นบนโลคัลอัพเดตจากนั้นส่งออกเปิดใช้งานอัพเดตจากนั้นอิมพอร์ต
ognockocaten

ตามที่กล่าวถึงปัญหาที่เชื่อมโยงมีกรณีที่การอัปเดตเอนทิตีของเราต้องการฟิลด์ใหม่ที่จะนำเข้ามิฉะนั้นเบ็ด post_update จะล้มเหลว ในกรณีนี้เราจำเป็นต้องนำเข้าการกำหนดค่าเสร็จก่อนที่จะอัปเดตฐานข้อมูล ดูเหมือนว่าสิ่งที่สดใหม่ที่สุดในเรื่องนี้อยู่ที่นี่: drupal.org/project/drupal/issues/2901418
atwixtor
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.