Я управляю веб-приложением PHP / MySQL с открытым исходным кодом, используемым несколькими школами K-12 и некоторыми колледжами. Я также единственный разработчик проекта. Хотя раньше это было чуть больше, чем исходная загрузка приложения, которое размещает мой работодатель, в течение прошлого года я работал над тем, чтобы превратить его в «настоящий» проект с открытым исходным кодом, с документацией, нумерованными выпусками, общедоступными журналами изменений и т. Д.
Я надеюсь улучшить процесс обновления, и одна из потенциально болезненных областей (особенно для школ, испытывающих недостаток в ИТ-знаниях), заключается в изменениях схемы базы данных между выпусками. Они не случаются часто или радикальные изменения, но я был бы признателен за предложения по этому процессу.
В настоящее время я поддерживаю базовый сценарий установки SQL для настройки базы данных при новой установке. Это включает в себя полную схему для текущего выпуска; никаких дальнейших действий не требуется для новой установки. Изменения, которые происходят между выпусками, хранятся в upgrade-$releasever.sql
сценариях, и для всех пропущенных выпусков необходимо постепенно запускать все сценарии обновления.
Скрипты оболочки не подходят, потому что многие из наших пользователей работают на хостах без доступа к оболочке. Из-за других приоритетов сложный скрипт установки / обновления на основе браузера PHP вряд ли будет реализован. Однако я хотел бы сделать что-то с помощью PHP-скрипта на основе браузера, чтобы упростить обновления. Предложения о том, как подойти к нему?