The Dark Side of .NET Programming

Il blog di Michele Aponte
posts - 212, comments - 145, trackbacks - 16

ALM Day: Gestire il ciclo di vita di un database

Gian Maria Ricci termina questa giornata spiegandoci come includere il database nell’ALM.

Molti dei nostri applicativi hanno sotto dei database, quindi perchè non comparare la gestione del codice a quella del database? Ci sono delle difficoltà:

  • Tracciare l’evoluzione degli oggetti
  • Effettuare una regressione daun aversione precedente
  • Stabilire la paternità del codice delle stored
  • Effettuare il deploy in produzione
  • Aggiornare il database esistente in produzione
  • Gestire più installazioni con versioni di database differenti
  • Creare  un database di test
  • Popolare il database di test con dati significativi

Le soluzioni tradizionali:

  • Database di sviluppo condiviso
  • Aggiornamento tramite script sequenziali
  • Confronto schema

Il database è modellato da script sequenziali quindi aggiornare il db è semplice, ma tornare indietro è quasi impossibile! Gestore più versioni poi…

In Visual Studio 2008 Database Edition abbiamo tutti gli strumenti necessari a gestire questi problemi:

  • Gestione del source control
  • Strumenti di deploy
  • Supporto allo unit testing

Attraverso l’uso di wizard è possibile creare un progetto database e importare gli script di un database esistente. il sistema crea un albero in cui invece di file sorgenti avremo file di tipo sql. Il database project quindi crea un “database logico”: ogni file rappresenta un singolo oggetto del database. Inoltre la conoscenza esatta della struttura del database logico permette di individuare errori strutturali, ad esempio il nome di un campo sbagliato. Essendo in visual studio possiamo inoltre confrontare la versione attuale del db con una versione presente nel source control. In visualizzazione struttura vediamo subito eventuali errori su singoli oggetti grazie alle iconcine apposite.

Il database logico può essere confrontato con uno fisico per generare uno script di aggiornamento. E’ possibile usare un tool da riga di comando, gratuito e ridistribuibile con le nostre applicazioni per lanciare questi script. Si possono sincronizzare anche versioni multiple mediante script o aggiornando direttamente l’istanza. Naturalmente ci sono anche strumenti di confronto tra database fisico.

E’ possibile creare Unit Test di stored procedure, trigger e funzioni. Visual Studio crea il database di test, allinearlo e generare i dati di test con il Data Generation Plan, il che ci da robustessa e soprattutto ripetibilità del test!

Print | posted on mercoledì 4 novembre 2009 03:39 |

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET