Sto usando un gruppo di programmatori freelance per sviluppare un'applicazione web. Siamo nelle prime fasi di sviluppo, il che significa che stiamo apportando molte modifiche al nostro schema di database. Abbiamo un database di test e un database di produzione, abbiamo anche una replica del database live, che ottiene un clone del database live ogni notte (utilizzato principalmente per rendere più facile la creazione di bug trovati nell'applicazione web dal vivo. molti freelance, che non conosco, spesso non si fidano delle loro capacità di database e non hanno alcuna comprensione dell'importanza estrema dei dati nel nostro database live.
La mia domanda è quale tipo di processo consiglieresti dopo che un libero professionista determina la necessità di apportare modifiche in un database. Al momento, commetteranno modifiche al nostro schema di database insieme alla loro richiesta di pull (su GitHub), così posso rivedere le loro modifiche al database proposte. Sono anche liberi di applicare le modifiche al nostro database live. La mia domanda è quindi come dovrei migrare i dati in tempo reale al nuovo schema. Ho pensato di chiedere allo sviluppatore di una patch di creare anche un'istruzione alter table, che avrei eseguito sul database live, ma non mi fido che siano abbastanza prudenti. Preferisco che tale migrazione sia automatica (almeno nella maggior parte dei casi) per poter essere distribuita su base giornaliera, ma non so se sia del tutto realistico. Ho anche bisogno di un processo che mi fidi così tanto che non ho bisogno di fare test sul sistema live se ho testato una richiesta di pull sul nostro sistema di test (lavorando con il nostro database di test).
Come si può fare?