Mysql
 sql >> Database >  >> RDS >> Mysql

Utilizzo del controllo della versione (Git) su un database MySQL

Puoi eseguire il backup del tuo database all'interno di un repository git. Ovviamente, se inserisci i dati in git in forma binaria, perderai tutta la capacità di git di archiviare in modo efficiente i dati usando diff (modifiche). Quindi la migliore pratica numero uno è questa:archiviare i dati in un formato serializzato di testo.

mysqldump è un programma adatto per aiutarti a farlo. Non è perfetto però. Se qualcosa disturba l'ordine di serializzazione degli articoli (ad es. a seguito della creazione di nuove tabelle, ecc.), le interruzioni artificiali entreranno nella differenza. Ciò ridurrà l'efficienza dell'archiviazione. Potresti scrivere un serializzatore personalizzato per serializzare solo le modifiche, ma poi stai facendo il duro lavoro in cui git è già bravo. Basta usare il dump sql.

Detto questo, quello che vuoi fare non è ciò che gli sviluppatori normalmente intendono quando parlano di inserire il database in git. Ad esempio, se leggi il link pubblicato da @eggyal (link a codinghorror ) vedrai che ciò che è effettivamente inserito in git sono gli script necessari per generare il database iniziale. Potrebbero esserci script aggiuntivi, come quelli per popolare i dati del database con uno stato pulito o per popolarlo con dati di test. Tutti questi script sql sono file di testo e praticamente lo stesso formato del dump sql che otterresti da mysqldump. Quindi non c'è motivo per cui non puoi farlo in questo modo anche con i tuoi dati quotidiani.