Gestiamo un server Web interno con software interno per l'esecuzione di una linea di produzione.
Quando devono essere aggiunte le nuove funzionalità del prodotto, si verificano entrambe le seguenti condizioni:
- le modifiche al software del server in-house potrebbero essere necessarie per supportare questi - questi sono per cambiamenti significativi nelle funzionalità, essendo l'unità di codice.
- cambia nel database MySQL per le nuove voci per i numeri di parte, queste sono per modifiche minori, configurazioni, modifiche a valori e parametri già esistenti - tali modifiche non richiedono modifiche al codice. Idealmente vorremmo che le nostre modifiche fossero qui piuttosto che nell'articolo 1.
L'elemento 1 è controllato in versione in Subversion, quindi è possibile fare riferimento alle revisioni precedenti per il ripristino in caso di problemi introdotti nell'ultima revisione.
Ma per quanto riguarda le modifiche al database MySQL?
Abbiamo processi di qualità per garantire che tali modifiche siano prive di errori ma c'è sempre la possibilità che gli errori possano passare, ad es. errore nell'immissione di dati o errori con il codice che utilizza il MySQL che danneggia il database ecc.
Abbiamo un backup automatico ogni 6 ore ma, se vogliamo più checkpoint definiti manualmente tra questi intervalli, potremmo utilizzare lo stesso sistema di backup, ma mi chiedevo se la gente qui usasse altri metodi per memorizzare precedenti stati di database, ad es. esportando il database come dump SQL in testo semplice - almeno con questo metodo sarebbe possibile vedere le differenze, ad es. in Oltre Confronta per risoluzione dei problemi.
Pensieri?