Tôi quản lý một ứng dụng web PHP / MySQL nguồn mở được sử dụng bởi một vài trường K-12 và một số trường cao đẳng. Tôi cũng là nhà phát triển duy nhất của dự án. Mặc dù trước đây ít hơn một lần tải xuống nguồn của một ứng dụng mà chủ nhân của tôi lưu trữ, tôi đã làm việc trong năm qua để biến nó thành một dự án nguồn mở "thực sự", với tài liệu, bản phát hành được đánh số, thay đổi công khai, v.v.
Tôi đang tìm cách cải thiện quá trình nâng cấp và một trong những lĩnh vực có thể gây đau đớn (đặc biệt là đối với các trường bị thiếu chuyên môn về CNTT) là trong các thay đổi đối với lược đồ cơ sở dữ liệu giữa các bản phát hành. Chúng không có xu hướng xảy ra thường xuyên hoặc thay đổi mạnh mẽ nhưng tôi sẽ đánh giá cao các đề xuất về quy trình.
Hiện tại, tôi duy trì tập lệnh cài đặt SQL cơ sở để thiết lập cơ sở dữ liệu trong bản cài đặt mới. Điều này bao gồm lược đồ hoàn chỉnh cho bản phát hành hiện tại; không cần thêm hành động nào cho cài đặt mới. Các thay đổi xảy ra giữa các bản phát hành được lưu trữ trong upgrade-$releasever.sql
các tập lệnh và cần phải tăng dần tất cả các tập lệnh nâng cấp cho bất kỳ bản phát hành nào bị bỏ qua.
Các tập lệnh Shell không phù hợp, bởi vì nhiều người dùng của chúng tôi hoạt động trên máy chủ mà không có quyền truy cập shell. Do các ưu tiên khác, tập lệnh nâng cấp / cài đặt dựa trên trình duyệt PHP phức tạp khó có thể thành hiện thực. Tuy nhiên, tôi muốn làm một cái gì đó với tập lệnh PHP dựa trên trình duyệt để đơn giản hóa việc nâng cấp. Gợi ý về cách tiếp cận nó?