Я керую веб-програмою з відкритим кодом PHP / MySQL, яку використовують декілька шкіл К-12 та деякі коледжі. Я також єдиний розробник проекту. У той час як це було трохи більше, ніж завантаження програми, у якого працює мій роботодавець, останній рік я працював над тим, щоб перетворити його на "справжній" проект з відкритим кодом з документацією, нумерованими випусками, публічними журналами змін тощо.
Я прагну вдосконалити процес оновлення, і одна з потенційно болючих областей (особливо для шкіл, голодуючих від ІТ) - це зміни в схемі бази даних між випусками. Вони, як правило, трапляються часто або не є різкими змінами, але я вдячний пропозиціям щодо цього процесу.
В даний час я підтримую базовий сценарій встановлення SQL для установки бази даних у новому встановленні. Сюди входить повна схема поточного випуску; додаткові дії не потрібні для нової установки. Зміни, що трапляються між випусками, зберігаються в upgrade-$releasever.sql
скриптах, і для всіх пропущених релізів потрібно поступово запускати всі сценарії оновлення.
Сценарії оболонки не дуже підходять, оскільки багато наших користувачів працюють на хостах без доступу до оболонки. Зважаючи на інші пріоритети, складний сценарій встановлення / оновлення на базі браузера PHP навряд чи реалізується. Однак я хотів би щось зробити зі скриптом PHP на основі браузера, щоб спростити оновлення. Пропозиції, як підійти до цього?