Partager via


Procédure pas à pas : exécution d'un développement de base de données itératif dans un environnement isolé

Mise à jour : novembre 2007

Dans Procédure pas à pas : création d'un environnement de développement de base de données isolé, vous avez agi comme un administrateur de base de données, en créant un projet de base de données et en important le schéma ainsi que les définitions d'objets de base de données à partir d'un serveur de production. Dans la deuxième procédure pas à pas, vous avez créé des tests unitaires de base de données pour vérifier les fonctions existantes et établir une planification initiale précise. Dans cette procédure pas à pas, la troisième et dernière de cette série, vous effectuez une tâche de développement itérative classique : renommer deux colonnes de base de données. Vous apportez ces modifications dans un environnement de développement isolé pour réduire le risque pour le reste de l'équipe jusqu'à ce que vous soyez prêt à partager vos modifications.

Cette procédure pas à pas illustre les tâches suivantes :

  • Utilisation de la refactorisation de base de données pour renommer des colonnes, en réduisant le temps nécessaire pour mettre à jour toutes les références aux colonnes ainsi que le risque d'erreur.

  • Exécution des tests unitaires de base de données pour vérifier que les modifications n'ont pas interrompu de fonctionnalités existantes.

  • Archivage des modifications dans le contrôle de version afin de les rendre disponibles pour le reste de l'équipe.

Composants requis

Visual Studio Team System Database Editiondoit être installé et vous devez avoir accès à l'exemple de base de données AdventureWorks pour Microsoft SQL Server 2005. De plus, cette procédure pas à pas suppose que vous avez exécuté Procédure pas à pas : création d'un environnement de développement de base de données isolé et Procédure pas à pas : établissement d'une planification initiale pour l'environnement de développement isolé.

Changement du nom des colonnes de base de données

Une tâche de développement classique implique le changement du nom des objets de base de données. Dans cette procédure pas à pas, vous remplacez le nom de la colonne EmployeeID de la table [HumanResources].[Employee] par EmployeeNumber. La colonne EmployeeID est référencée dans plusieurs clés étrangères et procédures stockées. Pour apporter la modification manuellement, vous devrez modifier plusieurs fichiers. Avant d'effectuer les modifications, vous devez vérifier que vous disposez de la dernière version du projet de base de données.

Pour obtenir la version la plus récente du projet de base de données

  1. Dans l'Explorateur d'équipes, développez le nœud Projet d'équipe qui contient le projet de base de données.

  2. Ouvrez l'Explorateur du contrôle de code source en double-cliquant sur le nœud Contrôle de code source.

  3. Dans l'Explorateur du contrôle de code source, cliquez avec le bouton droit sur le projet de base de données, puis cliquez sur Obtenir la dernière version.

    La dernière version de la solution qui contient le projet de base de données est récupérée sur votre ordinateur.

Pour renommer EmployeeID en EmployeeNumber

  1. Si la solution AdvWorksSandbox est ouverte dans l'Explorateur de solutions, passez à l'étape 4.

  2. Dans le menu Fichier, pointez sur Ouvrir, puis cliquez sur Projet/Solution.

    La boîte de dialogue Ouvrir un projet s'affiche.

  3. Cliquez sur la solution AdvWorksSandbox, puis sur Ouvrir. (Par défaut, cette solution se trouve dans Mes documents\Visual Studio 2005\Projects\AdvWorksSandbox.)

    La solution AdvWorksSandbox s'ouvre dans l'Explorateur de solutions.

  4. Ouvrez le menu Affichage et cliquez sur Vue Schéma.

  5. Dans la vue Schéma, développez le nœud AdvWorksSandbox, puis le dossier Tables.

  6. Dans le dossier Tables, développez la table HumanResources.Employee, puis le dossier Colonnes.

  7. Cliquez avec le bouton droit sur le dossier EmployeeID, pointez sur Refactoriser, puis cliquez sur Renommer.

    La boîte de dialogue Renommer apparaît et affiche le nom de colonne existant.

  8. Dans Nouveau nom, tapez EmployeeNumber.

  9. Si la case à cocher Aperçu des modifications n'est pas activée, activez-la, puis cliquez sur OK.

    La boîte de dialogue Afficher les modifications - Renommer apparaît et affiche tous les éléments dans le projet qui font référence à la colonne que vous renommez.

  10. Cliquez sur l'une des modifications.

    Les détails de la modification apparaissent dans Aperçu des modifications.

  11. Après avoir examiné les modifications, cliquez sur Appliquer pour les appliquer.

    Tous les fichiers qui sont modifiés sont extraits du contrôle de version.

Vous pouvez afficher les modifications en attente dans la fenêtre Modifications en attente. Les fichiers suivants doivent apparaître dans la fenêtre Modifications en attente :

  • AWGenPlan.dgen

  • Employee.table.sql

  • Employee.PK_Employee_EmployeeID.sql

  • vSalesPerson.view.sql

  • uspGetManagerEmployees.proc.sql

  • vEmployee.view.sql

  • vEmployeeDepartmentHistory.view.sql

  • uspUpdateEmployeePersonalInfo.proc.sql

  • uspUpdateEmployeeHireInfo.proc.sql

  • uspUpdateEmployeeLogin.proc.sql

  • PurchaseOrderHeader.FK_PurchaseOrderHeader_Employee_EmployeeID.fkey.sql

  • Employee.FK_Employee_Employee_ManagerID.fkey.sql

  • EmployeePayHistory.FK_EmployeePayHistory_Employee_EmployeeID.fkey.sql

  • EmployeeDepartmentHistory.FK_EmploymentDepartmentHistory_Employee_EmployeeID.fkey.sql

  • JobCandidate.FK_JobCandidate_Employee_EmployeeID.fkey.sql

  • EmployeeAddress.FK_EmployeeAddress_Employee_EmployeeID.fkey.sql

  • SalesPerson.FK_SalesPerson_Employee_EmployeeID.fkey.sql

  • Employee.uEmployee.trigger.sql

Exécution de tests unitaires de base de données

Après avoir apporté une modification et avant de l'archiver dans le contrôle de version, vous devez exécuter les tests unitaires de base de données pour vérifier que l'application fonctionne toujours correctement avant de partager ces modifications avec l'équipe.

Pour exécuter des tests unitaires de base de données pour identifier les problèmes potentiels

  1. Dans le menu Test, pointez sur Fenêtres, puis cliquez sur Affichage de tests.

    La fenêtre Affichage de tests répertorie plusieurs tests. Par défaut, les tests nommés ManualTest1 et TestMethod1 sont créés. Les tests nommés dbo_uspGetManagerEmployeesTest et dbo_ufpLeadingZeroTest sont ceux que vous avez créés dans la procédure pas à pas précédente.

  2. Activez les cases à cocher correspondant à dbo_uspGetManagerEmployeesTest et dbo_ufpLeadingZeroTest, cliquez sur l'un ou l'autre avec le bouton droit, puis cliquez sur Exécuter la sélection.

  3. Affichez les résultats dans la fenêtre Résultats des tests.

    Le projet de base de données est déployé dans votre environnement de développement isolé, les données de test sont générées, et les tests sont exécutés et réussis.

Comparaison du projet de base de données à la production

Vous pouvez comparer les schémas du projet de base de données mis à jour et la base de données de production pour identifier leurs différences. Dans la mesure où vous comparez uniquement les schémas, au lieu d'en mettre un à jour, vous pouvez spécifier l'un ou l'autre en tant que source ou cible pour la comparaison.

Pour comparer le schéma de projet de base de données à la base de données de production

  1. Dans le menu Données, pointez sur Comparaison de schémas, puis cliquez sur Nouvelle comparaison de schémas.

    La boîte de dialogue Nouvelle comparaison de schémas s'affiche.

  2. Acceptez les valeurs par défaut pour le schéma source.

    Le projet de base de données, AdvWorksSandbox, est spécifié.

  3. Dans Schéma cible, dans la liste Database, cliquez sur la connexion à la base de données AdventureWorks à partir de laquelle vous avez d'abord importé le schéma de base de données et cliquez sur OK.

    Les schémas sont comparés. Les seules différences doivent être les modifications que vous avez apportées pendant cette procédure pas à pas.

  4. Explorez les différences entre les schémas. Lorsque vous avez terminé, fermez la fenêtre Comparaison de schémas.

    Vous pouvez maintenant partager vos modifications avec l'équipe.

Archivage des modifications

Après avoir vérifié que toutes vos modifications sont prêtes à être partagées avec d'autres membres de l'équipe, vous les archivez dans le contrôle de version. Vous archivez toutes les modifications apportées à la solution, qui comprennent en général le projet de base de données, votre projet de test unitaire ainsi que tout code d'application et les tests unitaires d'application associés.

Pour archiver les modifications et les rendre disponibles pour l'équipe

  1. Dans le menu Affichage, pointez sur Autres fenêtres, puis cliquez sur Modifications en attente.

    La fenêtre Modifications en attente s'affiche.

  2. Dans Commentaire, tapez Colonne EmployeeID renommée.

  3. Dans la fenêtre Modifications en attente, cliquez sur Archiver dans la barre d'outils.

    La boîte de dialogue Progression de l'archivage s'affiche lorsque le projet de base de données et les fichiers qu'il contient sont archivés dans le contrôle de version. Les icônes de l'Explorateur de solutions sont mises à jour pour montrer que les fichiers sont archivés dans le contrôle de version.

Étapes suivantes

Ce processus itératif se produira à de nombreuses reprises pour chaque version de la base de données que votre équipe déploie en production. Chaque développeur apporte ses modifications de manière isolée, les teste pour vérifier qu'elles sont correctes, puis les partage avec l'équipe en archivant les mises à jour dans le contrôle de version. Le processus de déploiement de la base de données en production est simple :

  1. Une version des fichiers qui composent le projet de base de données et ses tests sont étiquetés pour marquer qu'ils font partie d'une version en cours de déploiement.

  2. Vous obtenez les sources étiquetées et générez un script de compilation.

  3. Vous examinez et modifiez le script de compilation autant que nécessaire, en effectuant un déploiement de tests sur un serveur intermédiaire. Après chaque déploiement, vous pouvez comparer le projet de base de données au schéma sur le serveur intermédiaire.

  4. Après avoir parcouru le script de compilation jusqu'à ce que vous soyez satisfait du résultat et le jugiez prêt à partir en production, vous déployez le script de compilation modifié en production.

  5. Si vous devez apporter des modifications qui ne se sont pas répercutées dans le projet de base de données, vous pouvez importer ces mises à jour dans le projet de base de données à partir du serveur de production mis à jour.

Pour en savoir plus sur Database Edition, vous pouvez exécuter les procédures pas à pas plus détaillées pour chacune des fonctionnalités spécifiques.

Voir aussi

Concepts

Vue d'ensemble de la terminologie de Database Edition

Autres ressources

Refactorisation de bases de données

Exécution de tests unitaires de base de données

Comparaison de schémas de base de données