ฉันจัดการโปรแกรมประยุกต์ PHP / MySQL เว็บแบบโอเพนซอร์ซที่ใช้โดยโรงเรียน K-12 และวิทยาลัยบางแห่ง ฉันยังเป็นผู้พัฒนาโครงการเท่านั้น ในขณะที่มันเคยเป็นมากกว่าการดาวน์โหลดต้นฉบับของแอปพลิเคชันที่นายจ้างของฉันโฮสต์ฉันได้ทำงานในช่วงปีที่ผ่านมาเพื่อให้เป็นโครงการโอเพ่นซอร์ส "ของจริง" พร้อมเอกสารประกอบการเผยแพร่หมายเลขการเปลี่ยนแปลงสาธารณะ ฯลฯ
ฉันกำลังมองหาเพื่อปรับปรุงกระบวนการอัพเกรดและหนึ่งในพื้นที่ที่อาจเจ็บปวด (โดยเฉพาะอย่างยิ่งสำหรับโรงเรียนที่มีความเชี่ยวชาญด้านไอที) คือการเปลี่ยนแปลงโครงสร้างฐานข้อมูลระหว่างรุ่นต่างๆ พวกเขามักจะไม่เกิดขึ้นบ่อยหรือมีการเปลี่ยนแปลงที่รุนแรง แต่ฉันขอขอบคุณข้อเสนอแนะเกี่ยวกับกระบวนการ
ขณะนี้ฉันยังคงสคริปต์ฐานติดตั้ง SQL ไว้เพื่อติดตั้งฐานข้อมูลในการติดตั้งใหม่ ซึ่งรวมถึงสคีมาที่สมบูรณ์สำหรับรุ่นปัจจุบัน ไม่จำเป็นต้องดำเนินการใด ๆ สำหรับการติดตั้งใหม่ การเปลี่ยนแปลงที่เกิดขึ้นระหว่างการเผยแพร่จะถูกเก็บไว้ในupgrade-$releasever.sql
สคริปต์และจำเป็นต้องเรียกใช้สคริปต์การอัปเกรดทั้งหมดสำหรับการเผยแพร่ที่ถูกข้ามไป
เชลล์สคริปไม่ค่อยเหมาะสมนักเนื่องจากผู้ใช้ของเราจำนวนมากทำงานบนโฮสต์ที่ไม่มีการเข้าถึงเชลล์ เนื่องจากลำดับความสำคัญอื่น ๆ สคริปต์ติดตั้ง / อัพเกรดที่ใช้เบราว์เซอร์ PHP ที่ซับซ้อนจึงไม่น่าจะเกิดขึ้นได้ อย่างไรก็ตามฉันต้องการทำบางสิ่งกับสคริปต์ PHP ที่ใช้เบราว์เซอร์เพื่อทำให้การอัพเกรดง่ายขึ้น คำแนะนำเกี่ยวกับวิธีการเข้าถึง