Quali metodi esistono per gestire DB Change Management? [chiuso]

9

Recentemente ho iniziato a lavorare con il controllo delle versioni nel mio sviluppo web usando subversion. Funziona perfettamente per la gestione dei file che sviluppo, ma non fa nulla per le modifiche che a volte devo apportare ai database. Per quanto ne so, il server su cui sto lavorando non ha alcun sistema di gestione dei DB in atto e probabilmente non sarei in grado di farli installare nulla. Quali opzioni ci sono per la gestione dei DB in questo tipo di ambiente?

    
posta Kenneth 21.07.2011 - 19:08
fonte

3 risposte

9

K. Scott Allen ha scritto alcuni eccellenti post sul blog qualche anno fa. Potrebbero essere "vecchi" in termini di internet, ma la sua soluzione è ancora molto bella.

  1. Tre regole per il lavoro del database
  2. La linea di base
  3. Cambia script
  4. Viste, stored procedure e simili
  5. Branching and merging
risposta data 21.07.2011 - 19:19
fonte
3

I framework di migrazione sono librerie di codice che forniscono una semplice API per automatizzare le modifiche ai DB, con alcuni meccanismi per il controllo delle versioni del DB.

Io uso Migrator.Net per alcuni progetti. Creo una classe per ciascun changeset e il framework fornisce un modo semplice per eseguire le modifiche su un DB. Posso anche eseguire le modifiche in avanti e all'indietro, a condizione di codificare la logica per il downgrade e l'aggiornamento.

Quindi gestiamo il codice di migrazione nel nostro VCS come qualsiasi altro codice.

    
risposta data 21.07.2011 - 19:21
fonte
1

Backup notturni ovviamente (almeno). Perché non è solo la struttura del DB a cui tieni.

Hai diverse opzioni:

1) Conserva i tuoi script alternativi nel controllo Sorgente.

2) Dopo ogni modifica del db, generare gli script Db e archiviarli nel controllo Source insieme a un backup del DB contemporaneamente. In questo modo puoi eseguire un confronto sul file Script generato.

    
risposta data 21.07.2011 - 19:14
fonte

Leggi altre domande sui tag