2009-12-23 10 views
5

Sto guardando database di versioni e ho trovato i soliti articoli su come fare questo (codifica horror, codice in codice, ecc.). Tutto questo ha perfettamente senso per me, tuttavia sto cercando di trovare uno script runner che eseguirà gli script sql per me. Tutti questi articoli menzionano il fatto di avere qualcosa per eseguirli automaticamente, ma nessuno di loro formula alcuna raccomandazione.Ho bisogno di un runner di script di versione del database .NET

Qualcuno conosce qualche utilità per l'esecuzione di questi script? Idealmente qualcosa che funziona nel seguente modo:

  1. Esegue tutto in una transazione quindi se ogni singolo aggiornamento non riesce, il tutto non riesce
  2. ho il controllo sul nome della tabella di database di versione del sistema
  3. Capacità di avere una serie di script che vengono sempre eseguite se un aggiornamento avviene
  4. può essere eseguito come parte di un'attività automatizzata

    EDIT

  5. Open Source

+0

DDL è di solito annullato all'interno di una transazione, quindi per questo tipo di cose in genere si desidera fare un backup prima, quindi applicare i vostri script di cambiamento di versioning, e in caso di errore, ripristinare il backup. –

+0

PS Qualcuno può suggerire una voce migliore per questa domanda? –

+0

@Sam Immagino che la transazione non sia un must, a patto che ci sia un meccanismo per riportare il data base al suo stato originale in caso di problemi, e farlo automaticamente. –

risposta

5

Partenza SSW SQL Deploy - sembrerebbe di fare quasi tutto quello che stai chiedendo. Tiene traccia degli script già eseguiti, eseguirà un intero batch di script contemporaneamente e su più server (se necessario) e così via.

alt text

E 'uno strumento piuttosto semplice, ma elegante - altamente consigliato!

7

Utilizziamo DbUp come Script Runner nel nostro progetto Web. I suoi strumenti open source semplici e piacevoli che ti aiutano a scrivere il tuo runner di script con Fashion Application Console.

DbUp è una libreria .NET che consente di distribuire le modifiche ai database di SQL Server . Tiene traccia di quali script SQL sono già stati eseguiti e esegue gli script di modifica necessari per aggiornare il database.

possiamo eseguire gli script dalla cartella nel filesystem oppure potete incorporarli nell'assembly ed eseguirli come script incorporati.

è possibile trovare ulteriori informazioni e esempi sul proprio repository di codice su github.

http://dbup.github.com