Gestion des modifications de la base de données

Si vous développez et maintenez des bases de données au niveau de l'entreprise, il vous incombe probablement de coordonner les planifications et les modifications avec les équipes de développement logiciel pour créer des applications de base de données unifiées. Vous pouvez réduire considérablement l'effort que demande cette coordination en adoptant des outils et des processus qui sont aussi semblables que possible à ceux des développeurs de logiciels qui sont dans votre organisation.

Comme de nombreuses équipes s'orientent vers des paradigmes de développement rapide plus itératifs pour l'écriture de code (tels que la méthode agile), le développeur de bases de données et le développeur de logiciels ont tous les deux encore davantage besoin d'outils tels que le contrôle de version. Ces outils peuvent réduire les risques qui sont associés au développement en équipe. L'utilisation d'outils et de processus similaires peut présenter des avantages significatifs en ce qui concerne les bases de données que vous gérez, mais également en ce qui concerne les points d'intégration entre ces bases de données et les logiciels qui interagissent avec elles.

Comment Visual Studio peut vous aider

Visual Studio vous aide à établir une coordination avec vos homologues développeurs de logiciels en encourageant les membres de l'équipe à avoir une vue plus holistique et à se concentrer sur le comportement des applications plutôt que sur les détails d'implémentation. Cette approche diffère du modèle dans lequel la base de données de production (ainsi que ses données) est affichée comme au centre de l'univers des applications. Visual Studio fournit un jeu de solutions ciblant l'application complète (à la fois les données et la logique). Pour générer une application qui fonctionne correctement, qui soit facile de maintenir et qui puisse être fournie le plus rapidement possible, les organisations de développement au niveau de l'entreprise doivent avoir cette vue inclusive de l'application.

Visual Studio propose des fonctionnalités qui s'adressent aux rôles de développeur et d'administrateur de base de données d'aujourd'hui. Par exemple, Visual Studio prend en charge le concept d'un environnement de développement isolé pour chaque professionnel des bases de données. Les membres de l'équipe peuvent travailler sur des activités liées au schéma sans que cela entraîne des épreuves pour d'autres membres de l'équipe ou l'environnement de production. La vision à long terme ajoute des fonctionnalités pour le rôle d'architecte de base de données et développe des fonctionnalités pour les administrateurs de base de données.

Objectifs de haut niveau

Les fonctionnalités de base de données de Visual Studio ont les objectifs de haut niveau suivants :

  • Fournir une base qui est fondée sur la gestion des modifications intégrée pour les applications de base de données.

  • Fournir des outils qui vous permettent de gérer des projets de base de données.

  • Fournir des outils qui vous permettent de comprendre les différences.

  • Fournir des outils qui vous permettent d'apporter des modifications et d'évaluer leurs effets.

  • Fournir des outils qui vous permettent de travailler dans un environnement isolé pour réduire les risques qui sont associés à la modification.

  • Fournir des outils qui vous permettent de tester des solutions mises à jour.

  • Fournir des outils qui simplifient le déploiement des modifications dans une base de données.

  • Fournir les outils qui facilitent le développement collaboratif de bases de données complexes.

Tâches de niveau supérieur

Pour prendre en charge ces objectifs, Visual Studio vous aide à exécuter les tâches de niveau supérieur suivantes :

  • Créer et déployer une nouvelle base de données sous contrôle de version.

  • Placer un schéma de base de données existant sous contrôle de version en utilisant le projet de base de données. Le schéma de projet de base de données est créé en important le schéma à partir d'une base de données ou de scripts existants.

  • Modifier une représentation hors connexion d'une base de données, puis déployer les modifications apportées.

  • Comparer des schémas ou des données entre des bases de données.

  • Développer et exécuter des tests unitaires sur des objets de base de données.

  • Générer des données de test prévisibles et représentatives sans compromettre les données de production sensibles.

  • Renommer des tables de base de données, des colonnes, des vues ou d'autres objets, et propager ces modifications sur le reste du projet de base de données, ce qui inclut, entre autres, les tests unitaires, vues, procédures stockées et déclencheurs associés.

  • Créer, modifier, valider, exécuter et analyser des scripts et des requêtes.

Cycle de vie du développement d'une base de données

Visual Studio prend en charge un processus qui fonctionne en association avec les nouveaux outils. Vous pouvez considérer ce processus comme le cycle de vie du développement d'une base de données, qui offre à chaque professionnel de base de données un environnement de développement isolé dans lequel travailler et tester les modifications apportées. Après avoir testé les modifications, les membres de l'équipe partagent ces modifications par l'intermédiaire du système de contrôle de version. Le cycle de vie du développement de base de données contient les phases suivantes :

  • Établir l'environnement du projet

  • Exécuter un développement itératif isolé

  • Générer le projet

  • Effectuer le déploiement à partir de l'environnement du projet

Établir l'environnement du projet

L'illustration suivante montre comment le membre de l'équipe qui assume le rôle d'administrateur de base de données établit l'environnement du projet :

L'administrateur de base de données établit l'environnement du projet de base de données

L'administrateur de base de données commence par créer un projet de base de données et importer le schéma de base de données à partir de la base de données de production. Il peut ensuite créer un plan de génération de données afin de créer des données de test pour les environnements de développement isolés. Enfin, il archive le projet de base de données dans le contrôle de version, ce qui le rend disponible pour l'équipe.

Exécuter un développement itératif isolé

Le diagramme suivant montre comment les membres de l'équipe effectuent un travail de développement itératif dans un environnement isolé :

Développement itératif dans un environnement isolé

Chaque professionnel de base de données synchronise son environnement de développement avec le contrôle de version. Il peut extraire des fichiers lorsqu'ils sont modifiés, ainsi que développer et tester ces modifications de manière isolée. Les modifications apportées à sa copie du projet de base de données sont déployées uniquement chez son environnement de développement isolé. Après avoir généré des données de test réalistes et exécuté des tests unitaires sur une copie privée de la base de données, le membre de l'équipe archive les modifications apportées dans le contrôle de version. Les autres membres de l'équipe obtiennent les modifications testées à partir du contrôle de version.

Générer des builds diurnes du projet

L'illustration suivante montre comment le cycle de build fonctionne pour les projets de base de données :

Cycle de build pour les projets de base de données

La build diurne est générée en effectuant une synchronisation avec la version testée la plus récente du projet de base de données dans le système de contrôle de version. Cette build peut être déployée sur une base de données de test où les tests unitaires sont exécutés sur des données de test générées.

Déploiement à partir de l'environnement du projet

Le diagramme suivant montre comment l'administrateur de bases de données peut déployer une version du projet de base de données en phase de production :

L'administrateur de base de données génère et déploie en production

Lorsqu'il est temps de déployer une version de la base de données en production, l'administrateur de bases de données effectue une synchronisation avec une étiquette à partir du système de contrôle de version. L'administrateur de bases de données récupère des fichiers correspondants pour le projet de base de données, les scripts associés et les tests. Cet administrateur de bases de données génère ensuite le fichier .dbschema. A partir du fichier .dbschema, l'administrateur de bases de données génère le script de déploiement, effectue des modifications manuelles si nécessaire, puis réalise un déploiement de tests sur le serveur intermédiaire. Il itère ce processus jusqu'à ce que le script soit prêt à être déployé sur le serveur de production. Si l'administrateur de bases de données a apporté des modifications au schéma ou aux scripts de prédéploiement ou de post-déploiement, ces modifications seront à nouveau archivées dans le contrôle de version.

Voir aussi

Concepts

Vue d'ensemble de l'architecture des fonctionnalités de base de données de Visual Studio

Démarrage du développement de bases de données en équipe