È necessario uno script runner per il controllo delle versioni del database .NET
-
21-09-2019 - |
Domanda
Sto esaminando i database delle versioni e mi sono imbattuto nei soliti articoli su come eseguire questa operazione (codifica horror, inno al 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 la possibilità di eseguirli automaticamente, ma nessuno di essi fornisce alcun consiglio.
Qualcuno conosce qualche utilità per l'esecuzione di questi script?Idealmente qualcosa che funzioni nel modo seguente:
- Esegue tutto in una transazione, quindi se un singolo aggiornamento fallisce, l'intera operazione fallisce
- Ho il controllo sul nome della tabella del database delle versioni dello schema
- Possibilità di avere una serie di script sempre eseguiti se avviene un aggiornamento
Può essere eseguito come parte di un'attività automatizzata
MODIFICARE
Open Source
Soluzione
Guardare Distribuzione SQL SSW - sembrerebbe fare praticamente tutto quello che chiedi.Tiene traccia degli script già eseguiti, eseguirà un intero batch di script contemporaneamente e su più server (se richiesto) e così via.
È uno strumento piuttosto semplice ma ingegnoso: altamente raccomandato!
Altri suggerimenti
Noi usiamo DbUp come Script Runner nel nostro progetto Web.I suoi strumenti open source semplici e piacevoli ti aiutano a scrivere il tuo script runner con la moda dell'applicazione console.
DbUp è una libreria .NET che consente di distribuire le modifiche in SQL Server banche dati.Tiene traccia di quali script SQL sono già stati eseguiti ed esegue gli script di modifica necessari per aggiornare il database.
possiamo eseguire script dalla cartella nel filesystem oppure puoi incorporarli nel tuo assembly ed eseguirli come script incorporati.
puoi trovare ulteriori informazioni ed esempi nel loro repository di codice su github.