Come Glennular, li stiamo utilizzando per controllare la versione del nostro schema e s'procs.
Anche se abbiamo una struttura di controllo della versione abbastanza avanzata (CI, distribuzioni automatiche per lo sviluppo, installazioni con un solo clic su stage e prod); non includiamo nessuno dei progetti DB in quella struttura. Semplicemente non ci fidiamo ancora.
UPDATE: (per Out In Space)
abbiamo progetti TFS separati per le aree funzionali dell'azienda (vendite, marketing, ecc). All'interno di ogni progetto TFS abbiamo una cartella principale e di produzione. Abbiamo anche un progetto TFS che contiene i progetti di database e un altro che contiene progetti di assembly/visual studio comuni.
Dopo il rilascio, passiamo da Principale a Produzione. Non abbiamo una filiale di gestione temporanea poiché ci muoviamo troppo velocemente per affrontarla.Giusto o sbagliato, la nostra produttività è misurata in parte dal numero di rilasci a livello di produzione che facciamo a settimana; correzioni di bug, nuove funzionalità, ecc.
CI è impostato sul ramo Principale in modo tale che ogni check in fa sì che il server di Build si distribuisca nei nostri ambienti DEV. I test di unità e Web vengono quindi eseguiti e la qualità di costruzione viene impostata automaticamente su "Sviluppo" se viene completata correttamente. Quando qualcuno modifica la qualità di costruzione in "In gestione temporanea" Ciò causa la modifica di tutti i precedenti build "in gestione temporanea" a "Rifiutato" e fa sì che tale generazione venga trasferita ai nostri server di staging durante l'aggiornamento dei file di configurazione in modo che puntino ai server corretti. (Ho usato gli script TFS Deployer e PowerShell per questo).
QA esegue il test dai nostri server di staging. Una volta soddisfatti, il team di produzione cambia la Qualità di costruzione in "Produzione". Ciò fa sì che la compilazione venga inviata a un'area di produzione che viene quindi copiata manualmente nella posizione corretta. Una volta completato, la produzione notifica lo sviluppo che poi dirama quella versione nella cartella Produzione. Viene inoltre notificato a QA chi esegue una batteria di test di produzione per verificare che tutto funzioni effettivamente come previsto.
Abbiamo rapporti impostati per mostrarci quali cambiamenti esistono tra le versioni di produzione in modo che conosciamo tutti i check in che vengono distribuiti. Ciò evita che vengano fuori incognite come una modifica del database, ecc. O qualche altro codice potenzialmente pericoloso.
Inoltre, i nostri BA stanno monitorando gli articoli di lavoro tramite Team System Web Access e sanno quando tali articoli sono in produzione.
Sebbene i nostri DBA utilizzino Database Edition (GDR), non sono rimasti impressionati dal livello di controllo per le distribuzioni automatiche. Spero che Rosario porti un migliore controllo della distribuzione sulla linea di prodotti; ma fino ad allora abbiamo TFS Deployer e PowerShell.
Shog si dovrebbe tornare nel commento sul confronto degli schemi questo un pezzo chiave di dati e fammi sapere che non sta usando VS Data Amico. – JoshBerke
Sembra meglio grazie ;-) – JoshBerke