Gestisco un'applicazione web PHP / MySQL open source utilizzata da alcune scuole K-12 e da alcuni college. Sono anche l'unico sviluppatore del progetto. Mentre era poco più di un download sorgente di un'applicazione che il mio datore di lavoro ospita, ho lavorato durante l'ultimo anno per trasformarlo in un "vero" progetto open source, con documentazione, versioni numerate, modifiche al pubblico, ecc.
Sto cercando di migliorare il processo di aggiornamento e una delle aree potenzialmente dolorose (in particolare per le scuole affamate di competenze IT) riguarda le modifiche allo schema del database tra le versioni. Non tendono ad accadere spesso o sono cambiamenti drastici, ma apprezzerei i suggerimenti sul processo.
Attualmente, mantengo uno script di installazione SQL di base per configurare il database in una nuova installazione. Questo include lo schema completo per la versione corrente; non è richiesta alcuna ulteriore azione per una nuova installazione. Le modifiche che avvengono tra le versioni sono memorizzate in% script% di script, ed è necessario eseguire tutti gli script di aggiornamento in modo incrementale per tutte le versioni che sono state saltate.
Gli script di shell non sono una buona idea, perché molti dei nostri utenti operano su host senza accesso alla shell. A causa di altre priorità, è improbabile che un programma di installazione / aggiornamento del browser PHP complesso si materializzi. Tuttavia, mi piacerebbe fare qualcosa con uno script PHP basato su browser per semplificare gli aggiornamenti. Suggerimenti su come affrontarlo?