Sto per configurare CI per la mia applicazione web. Sto utilizzando Bitbucket e Pipeline beta come CI. L'applicazione web è strongmente accoppiata al database, nulla può essere testato senza i dati in esso contenuti.
Anche il mio team ha alcuni problemi con lo sviluppo locale, poiché a causa delle frequenti modifiche dello schema del database, le migrazioni di Django sono irreversibili, quindi stiamo finendo di ripristinare il DB e impostare gli stessi utenti ogni tanto (che è un molto lavoro manuale ripetuto, sembra qualcosa che potrebbe essere automatizzato).
Mi chiedo se esiste una best practice per risolvere questi problemi. Avevo un'idea di avere un database controllato dalla versione, che può essere considerato come l'unica fonte di verità per lo sviluppo locale e per i test e2e sull'elemento della configurazione. In questo modo non finiremo per utilizzare un database condiviso, ma tutti potranno estrarre la versione più recente del dispositivo DB e aggiornarlo se necessario. Ci sono dei motivi contro questo? (Non ho mai sentito nessuno che lo faccia prima)
Modifica
Lavoriamo con il backend Django, il frontend angolare e MySQL