วิธีการลบโมดูลในสภาพแวดล้อมแบบฉากอย่างถูกต้อง
บางโมดูลมีการยกเลิกการติดตั้ง ซึ่งโดยทั่วไปแล้วจะลบฐานข้อมูลสำหรับโมดูลนั้นตัวแปรจากตารางตัวแปรและตำแหน่งที่แนะนำโดยโมดูลนั้น รูทีนเหล่านี้อาศัยอยู่ใน.installโมดูลนั้น ดังนั้นจึงไม่สามารถรันได้หากไม่มีโมดูลนั้นอยู่ ดังนั้นนี่คือขั้นตอนปัจจุบันของเรา คำถามของฉันคือ: สิ่งนี้สามารถทำได้ง่ายขึ้นและมีประสิทธิภาพมากขึ้น? บอกว่าฉันลบโมดูล foo_bar ใน RCS ให้เตรียมรีลีสใหม่โดยที่: css และการแทนที่ธีมทั้งหมดที่ใช้หรือสร้างที่ด้านบนของ foo_bar จะถูกลบออก css และ theme-overrides สำหรับโมดูลขึ้นอยู่กับ foo_bar จะถูกลบออก ผลักดันการเปิดตัวที่จะยอมรับ ทดสอบการยกเลิกการติดตั้ง (จากผู้ดูแลระบบ / โมดูล) ด้วยสำเนาล่าสุดของฐานข้อมูลการผลิต หากทุกอย่างไปได้ด้วยดีให้ปรับใช้ codebase ใหม่เพื่อการผลิตและยกเลิกการติดตั้ง foo_bar และการพึ่งพาที่นั่น สิ่งนี้จะเรียกใช้การถอนการติดตั้งในโมดูลต่าง ๆ ทำความสะอาดฐานข้อมูล ใน RCS (git) ให้เตรียมรีลีสใหม่ที่มีการลบรหัสจริง ปรับใช้เพื่อยอมรับว่าเราทดสอบว่าไม่มีสิ่งใดขึ้นอยู่กับสิ่งนี้โดยบังเอิญ (โมดูลที่น่าเกลียดหรือฟังก์ชั่นชุดรูปแบบรวมถึงไฟล์โดยตรงจากโมดูลอื่น ๆ CSS, JS หรือไฟล์ภาพที่สะดุดตาที่สุด) หากยอมรับให้ปรับใช้รีลีสใหม่กับการผลิต การผลิตในขณะนี้มีฐานข้อมูลที่สะอาดและ codebase ปัญหาที่ฉันไม่สามารถมองเห็นวิธีการแก้ปัญหาคือมันต้องมีสองรุ่น …