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

A partire dal controllo delle versioni degli schemi mysql senza eccessivi. Buone soluzioni?

Un modo semplice per una piccola azienda:scarica il tuo database in SQL e aggiungilo al tuo repository. Quindi ogni volta che modifichi qualcosa, aggiungi le modifiche nel file dump.

È quindi possibile utilizzare diff per vedere le modifiche tra le versioni, per non parlare dei commenti che spiegano le modifiche. Questo ti renderà anche virtualmente immune agli aggiornamenti di MySQL.

L'unico aspetto negativo che ho riscontrato è che devi ricordarti di aggiungere manualmente l'SQL al tuo dumpfile. Puoi allenarti a ricordare sempre, ma fai attenzione se lavori con gli altri. La mancanza di un aggiornamento potrebbe essere una seccatura in seguito.

Questo potrebbe essere mitigato creando uno script elaborato per farlo per te quando ti sottoponi a subversion, ma è un po' troppo per uno spettacolo personale.

Modifica: Nell'anno trascorso da questa risposta, ho dovuto implementare uno schema di versione per MySQL per un piccolo team. L'aggiunta manuale di ogni modifica è stata vista come una soluzione ingombrante, proprio come è stata menzionata nei commenti, quindi abbiamo eseguito il dump del database e l'aggiunta di quel file al controllo della versione.

Quello che abbiamo scoperto è che i dati dei test stavano finendo nella discarica e stava rendendo abbastanza difficile capire cosa fosse cambiato. Questo potrebbe essere risolto scaricando solo lo schema, ma questo era impossibile per i nostri progetti poiché le nostre applicazioni dipendevano da determinati dati nel database per funzionare. Alla fine siamo tornati ad aggiungere manualmente le modifiche al dump del database.

Non solo questa era la soluzione più semplice, ma ha anche risolto alcuni problemi che alcune versioni di MySQL hanno con l'esportazione/importazione. Normalmente dovremmo eseguire il dump del database di sviluppo, rimuovere eventuali dati di test, voci di registro, ecc., rimuovere/cambiare determinati nomi ove applicabile e solo allora essere in grado di creare il database di produzione. Aggiungendo manualmente le modifiche potevamo controllare esattamente cosa sarebbe finito in produzione, un po' alla volta, in modo che alla fine tutto fosse pronto e il passaggio all'ambiente di produzione fosse il più indolore possibile.