2011-01-05 15 views
5

Ho un progetto in cui ho bisogno di lavorare su una nuova funzionalità che richiede la riprogettazione di parte del database mantenendo anche il ramo di sviluppo principale che lavora sul vecchio schema.Come gestire i rami git con diversi schemi db?

Qual è la tua migliore pratica per la gestione di un progetto come questo?

Ho pensato di avere un database separato mentre lavoravo alla nuova funzione, ma ho capito che sarebbe stato necessario controllare la configurazione del database nel repository, che è un no-go. Ci sono altri modi in cui posso affrontare il problema?


dati Seed per il salvataggio

Subito dopo questo distacco la risposta mi ha colpito - dovrei avere alcuni script per popolare il mio db con i dati di semi. In questo modo posso semplicemente rilasciare/ricreare/seminare il database quando si passa da un ramo all'altro.

risposta

1

Il modo usuale per gestire questo è controllare gli script di creazione del database nel controllo del codice sorgente. Quindi puoi diramarli e gestirli allo stesso modo del resto del codice sorgente.

Avrete bisogno di un modo per puntare il vostro codice su una particolare istanza di un database (che è stato creato usando gli script nel ramo corrente).

+2

Grazie a Greg, poiché è Rails, tutti gli script di creazione/migrazione del database sono già nel controllo del codice sorgente. Ora che ci penso un po 'di più immagino che tutto ciò di cui ho veramente bisogno siano alcuni dati seme in modo da poter rilasciare/ricreare/seminare ogni volta che devo passare –