lundi 20 mars 2017

Quick Start avec les projets de bases de données - Visual studio 2017 et DACPAC

Le code SQL permettant de développer des bases de données, au travers de schémas, function SQL et Procédures stockées doivent à l'instar du code applicatif être intégré dans le cycle de vie du développement notamment au travers de la création de solutions et projets de bases de données, mise sous controle de code source de l'ensemble des artefacts de code, intégration au processus d'intégration continue et également déploiement continu. Au travers de ce premier article, nous allons démontrer comment utiliser Visual studio 2017 avec les projets DACPAC et également VSTS et Git pour développer une base de données. Dans l'article suivant nous verrons comment Déployer notre base de données au travers du pipeline de release.
La première consiste à créer un projet DacPac, pour cela démarrer Visual Studio 2017 taper Ctrl Shift N pour créer un nouveau projet, sélectionner  le Type SQL Server puis le template SQL Server Database Project, nommer le projet et valider
Puis nous allons tout simplement dans notre cas importer le schéma d'une base de données existante afin de la modifier, pour cela  à partir du menu contextuel, lancer la commande Import / Database...

Cliquer sur Select Connection, dans notre exemple, il s'agit d'un base SQL Azure; simplement complèter les informations de connection puis cliquer sur Connect
Configurer les options d'import puis cliquer sur Start
L'import est visualisé dans la fenêtre Summary, cliquer sur Finish lorsque terminé

 Le projet de base de données apparait dans l'explorateur de solution, pour modifier / consulter un objet, il suffit simplement de l'ouvrir
On peut travailler soit en mode Designer ou via le code SQL directement
Nous allons à titre d'exemple rajouter un champ nommé description dans la table Categories
Le projet étant sous controle de code source et donc susceptible d'être modifié par un ou plusieurs développeurs, l'outil de comparaison de Schéma va permettre de visualiser les différences entre le projet et la base de données cible. A noter que cet outil de comparaison peut également comparer deux bases de données. A l'aide du menu contextuel, lancer la commande Schema Compare
La référence pour la source sera le projet de base de données, il faut juste définir la cible, pour cela, selectionner l'option Select Target
Un assistant permet de choisir simplement la base de données cible
Après avoir cliqué sur le bouton Compare, les différences entre la source et la cible sont affichées, on peut savoir par les icones s'il s'agit de suppression, ajouts ou modifications.
Enfin le bouton Update peut permettre au développeur de mettre à jour la cible directement
A partir de Visual Studio, en utilisant la vue Server Explorer, il est possible de voir la structure de la base de données cible, dans notre cas SQL Azure, on obtient l'affichage suivant  ou l'on remarque que le nouveau champ Description n'existe pas encore : 

On va pouvoir également utiliser la commande Publish à partir du menu contextuel du projet

*
Simplement préciser les informations de connection puis cliquer sur Publish
On peut suivre le déroulement de la publication 
Finalement, on raffraichit la vue de la base de données à partir du Server Explorer, on constate que le champ a bien été modifié

 Dans le prochain article, nous verrons comment intégrer ce Publish dans notre pipeline de release








Aucun commentaire: