Score:1

ไดเร็กทอรี config sync ทำงานอย่างไร

ธง co

ฉันเพิ่งมีคำถามสั้นๆ เกี่ยวกับวิธีการทำงานของการซิงค์การกำหนดค่าของ Drupal ฉันทำงานบนไซต์ Drupal ขนาดใหญ่ ซึ่งฉันมีเพื่อนร่วมงานเข้าร่วมทำงานในโครงการ เป็นไซต์ที่ควบคุมเวอร์ชันที่เราพัฒนาในเครื่องบน Docker จากนั้นดึงการเปลี่ยนแปลงไปยังเว็บเซิร์ฟเวอร์

ฉันเพิ่งค้นพบว่า Drupal มีคุณสมบัติ "การซิงโครไนซ์การกำหนดค่า" หากทำการเปลี่ยนแปลงกับไซต์ (ไม่ว่าจะเป็นมุมมอง การบล็อก ฯลฯ) ผู้ใช้สามารถไปที่หน้านี้ ส่งออกการกำหนดค่าเป็นไฟล์ tar และนำเข้าสู่การตั้งค่าในเครื่อง (หรือในทางกลับกัน จาก dev เป็น prod)

ฉันได้เรียนรู้มากมายและเป็นวิธีหนึ่งในการซิงค์สภาพแวดล้อม Drupalแต่ฉันสับสนว่าไดเร็กทอรี config sync เข้ามาเล่นได้อย่างไร (อันที่มี UUID ของไซต์ที่จัดเก็บไว้ในไดเร็กทอรีไฟล์ตามค่าเริ่มต้น) ในสภาพแวดล้อม dev ในเครื่องบนสาขาทดสอบ ฉันย้ายโฟลเดอร์นี้ เวอร์ชันควบคุม และเปลี่ยน settings.php ให้ชี้ไปที่ตำแหน่งใหม่นี้ ฉันสังเกตว่าเมื่อฉันเปลี่ยนแปลงอะไร (เช่น มุมมอง) โฟลเดอร์ config sync จะไม่แสดงการเปลี่ยนแปลงใดๆ ถ้าฉันไปที่หน้าจอการซิงค์การกำหนดค่า ฉันเห็นข้อความนี้:

รายการต่อไปนี้ในการกำหนดค่าที่ใช้งานอยู่มีการเปลี่ยนแปลงตั้งแต่การนำเข้าครั้งล่าสุด ซึ่งอาจสูญหายในการนำเข้าครั้งถัดไป
views.view.test_config_view

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

leymannx avatar
ne flag
ใน Drupal การกำหนดค่าคือชุดของการตั้งค่าผู้ดูแลระบบที่กำหนดวิธีการทำงานของไซต์ ซึ่งตรงข้ามกับเนื้อหาของไซต์ โดยทั่วไปการกำหนดค่าจะรวมสิ่งต่างๆ เช่น ชื่อไซต์ ประเภทเนื้อหาและฟิลด์ คำศัพท์อนุกรมวิธาน มุมมอง และอื่นๆ https://www.drupal.org/docs/configuration-management
Kevin avatar
in flag
คุณต้องส่งออกการเปลี่ยนแปลงใหม่ มันไม่อัตโนมัติ
leymannx avatar
ne flag
สมมติว่าคุณตั้งค่าสำเนาของไซต์สดบนคอมพิวเตอร์ของคุณ รหัส, ฐานข้อมูล, โลคัลไซต์กำลังทำงานอยู่ ตอนนี้คุณพัฒนาคุณลักษณะใหม่บนไซต์ท้องถิ่น เช่นเดียวกับการสร้างประเภทเนื้อหาใหม่ที่มีฟิลด์จำนวนมาก คุณจะได้รับการเปลี่ยนแปลงเหล่านี้ไปยังไซต์สดของคุณได้อย่างไร คุณส่งออกการกำหนดค่าในเครื่องของคุณ แล้วนำเข้าบนเว็บไซต์จริงของคุณอีกครั้ง Voila เนื้อหาประเภทใหม่ที่มีช่องข้อมูลมากมายพร้อมให้ใช้งานแล้ว นั่นเป็นเวอร์ชันที่สั้นมากของการมี Git repo เพื่อย้ายฟีเจอร์ใหม่จากในเครื่องไปใช้งานจริง ปกติคุณใช้ Drush เพื่อส่งออกและนำเข้าการกำหนดค่า แต่คุณสามารถเคลื่อนย้าย Tarball ได้เช่นกัน
leymannx avatar
ne flag
ขอแนะนำให้คุณมีไดเร็กทอรี config sync นอกรูทของเว็บ จากนั้นปรับค่า settings.php ให้ชี้ไปที่ตำแหน่งใหม่
Jaypan avatar
de flag
ฉันเขียนบทช่วยสอนที่อาจช่วยให้คุณเข้าใจได้ดีขึ้น: https://www.morpht.com/blog/drupal-8-configuration-part-1-configuration-api

โพสต์คำตอบ

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