vendredi 19 septembre 2008

Petite introduction sur DbPro de Visual Studio Team System

Me voici sur un nouveau sujet, assez palpitant puisqu'enfin les développeurs vont pouvoir gérer leurs scripts de bases de données en même temps et au même endroit (Visual Studio) que les sources de leur application. Ce sujet est donc DbPro disponible dans la version Team System de Visual Studio.

Voici, après quelques heures d'utilisation, ce que propose DbPro.
Grace à DbPro nous pouvons "aspirer" le modèle de notre base de données existante et Visual Studio nous créer un projet DbPro qui cohabite avec nos autres projets de la solution et qui contient les scripts de tous les objets de notre base de données (table, vues, user, procédures...). Assez génial ! Du coup tous les scripts de la base de données sont sauvegardés dans le serveur de code source de la même manière qu'un fichier CS ou VB. Fini l'écrasement accidentel et la perte définitive d'une procédure stockée qui à prit 5 jours de réalisation, tout est dans le serveur de code source !

DbPro va encore plus loin car il permet d'éditer tous les objets de la base de données dans Visual Studio (plus besoin de Sql Manager Studio, ou presque) et surtout, génère le script de déploiement vers la base de données cible. Ici Microsoft facilite un autre point crucial dans le cycle de développement qu'est le recensement des modifications apportées à une base de données durant une phase de développement.

Dans un contexte d'intégration continu on peut bien sur envisager le déploiement automatique des modifications de base de données à chaque check-in. Il suffit de modifier un peu la déclaration de son serveur de build Team System pour que ce dernier compile le projet Dbpro et déploie les modifications sur le serveur d'intégration ! C'est exactement ce que je mets en place actuellement. C'est plutôt simple à réaliser et les MSDN documentent assez bien le sujet.
Dans mon prochain article je vais ajouter quelques liens pour la mise en oeuvre de DbPro avec Team Build, plus quelques petit tips que j'aurais découvert.

Bien à vous.