ฉันไม่ชอบโซลูชัน "เว็บไซต์โคลนนิ่ง " ที่บอกเป็นนัยถึงการทุ่มตลาดฐานข้อมูลและนำเข้าการถ่ายโอนข้อมูลนี้ในสภาพแวดล้อมอื่น สิ่งนี้ดูเหมือนจะไม่เหมือนโลกแห่งการปรับใช้อินสแตนซ์ต่าง ๆ ของเว็บไซต์เดียวกัน (staging / prod / dev / etc)
ด้วย D7 เรามักจะใช้โปรไฟล์ที่กำหนดเองและใช้ drush เพื่อติดตั้งเว็บไซต์จากโปรไฟล์เหล่านี้ (และอาจใช้ฟีเจอร์สำหรับการซิงโครไนซ์ไซต์ในภายหลัง) สิ่งนี้ทำให้เรามีการติดตั้งใหม่ไม่มีเนื้อหาการทดสอบ แต่การแชร์การตั้งค่าที่สำคัญ การซิงโครไนซ์เนื้อหาทั่วไปจะทำได้ด้วยการโอนย้ายตัวอย่างเช่น
ฉันพยายามจัดการอินสแตนซ์ D8 หลายตัวที่ใช้โปรไฟล์การติดตั้งร่วมกัน เป้าหมายสุดท้ายคือการแบ่งปันและซิงค์การกำหนดค่าไซต์ และการติดตั้งทุกครั้งจะมี UUID ของไซต์ที่แตกต่างกัน ฉันไม่ประสบความสำเร็จในการบังคับใช้system.site uuid
ตัวแปร config ในเวลาติดตั้ง (แน่นอนว่าฉันสามารถเปลี่ยนค่าได้ในภายหลัง แต่สำหรับฉันดูเหมือนว่ามันสายเกินไปและวัตถุทั้งหมดถูกสร้างขึ้นด้วย UUID ที่แตกต่างกันซึ่งทำให้การประสานครั้งแรกเป็นฝันร้ายซึ่งเนื้อหาเริ่มต้นบางอย่างต้องถูกลบหรือภาษาเริ่มต้นขัดข้องการซิงค์เนื่องจากไม่สามารถลบออกได้ ฯลฯ )
ในการบังคับใช้ UUID นี้ฉันพยายามใช้ไฟล์ settings.php ที่สร้างขึ้นโดยมี$config['system.site']['uuid']
ค่าอยู่ภายในนั้นล้มเหลวอย่างมาก (การตั้งค่านั้นถูกข้ามไปโดยสิ้นเชิง
ฉันยังดูโปรไฟล์การติดตั้งการกำหนดค่าซึ่งฉันไม่เข้าใจโดยเฉพาะอย่างยิ่งวิธีผสมโซลูชันนี้กับโปรไฟล์การติดตั้งอื่น
ดังนั้นคำถามคืออะไรเป็นวิธีที่ดีที่สุดในการปรับใช้ไซต์สดจากโปรไฟล์การติดตั้ง:
- โดยไม่ต้อง "โคลนไซต์" และจัดการกับ SQL ทิ้งที่การสร้างไซต์ (เช่นในคำถามเกี่ยวกับไซต์ที่ถูกโคลน )
- ด้วยการติดตั้งใหม่ทั้งหมด (ไม่มีเนื้อหาขยะของนักพัฒนา) โดยใช้การกำหนดค่าและรหัสที่ส่งออกเท่านั้น
- ซึ่งสามารถจัดการทั้งค่าเริ่มต้นการกำหนดค่าการติดตั้งและการซิงโครไนซ์ในภายหลัง