Ho pensato che potrebbe essere una buona cosa avere un ramo di controllo della versione dedicato per tutte le modifiche dello schema del database e volevo sapere se qualcun altro sta facendo lo stesso e quali sono stati i risultati.
Dì che stai lavorando con:
- Modello / documentazione dello schema (alcuni file in cui il database viene modellato visivamente per generare l'origine dello schema, ad esempio MySQL Workbench, con un file .mwb, che è binario)
- Sorgente dello schema (un file .sql)
- Generazione di codice basata sugli schemi
Il modo normale in cui stavamo lavorando era con i rami di funzionalità, quindi dovevamo apportare modifiche ai file di modello (quelli specifici del database), quindi dover rigenerare i punti 2 e 3, affrontando i possibili conflitti (o persino la riscrittura del codice ).
Ora dì che il tuo flusso di lavoro si comporta allo stesso modo della precedente numerazione degli articoli. Con un ramo del modello non dovresti riconciliare il modello dello schema con i binari in altri rami di funzionalità, o devi rigenerare lo schema di origine e rigenerare il codice (che potrebbe avere il codice umano sopra di esso).
Per me è molto sensato che sia strano non averlo visto prima come pratica comune.
Modifica : conto che le fusioni delle filiali siano le asserzioni per il modello che corrisponde al codice. Io uso un DVCS, quindi non ho paura di rami di lunga data o di fusioni dall'aspetto spaventoso. Sto anche facendo il branching delle funzionalità.