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

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 décrit les tâches suivantes :

  1. 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.

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

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

Composants requis

Visual Studio Premium ou Visual Studio Ultimate doit être installé et vous devez avoir accès à l'exemple de base de données AdventureWorks2008 pour SQL Server 2008. 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 BusinessEntityID de la table [HumanResources].[Employee] par BusinessEntityNumber. La colonne BusinessEntityID 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 BusinessEntityID en BusinessEntityNumber

  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, le schéma HumanResources, puis le dossier Tables.

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

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

    La boîte de dialogue Renommer s'ouvre et affiche le nom de colonne existant.

  8. Dans Nouveau nom, tapez BusinessEntityNumber.

  9. Activez la case à cocher Mettre à jour les références dans les objets de schéma contenant des avertissements ou erreurs.

  10. 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.

  11. Cliquez sur l'une des modifications.

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

  12. 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 :

  • Employee.table.sql

  • ufnGetContactInformation.function.sql

  • uspGetEmployeeManagers.proc.sql

  • uspGetManagerEmployees.proc.sql

  • uspUpdateEmployeeHireInfo.proc.sql

  • uspUpdateEmployeeLogin.proc.sql

  • uspUpdateEmployeePersonalInfo.proc.sql

  • FK_EmployeeDepartmentHistory_Employee_BusinessEntityID.fkey.sql

  • FK_EmployeePayHistory_Employee_BusinessEntityID.fkey.sql

  • FK_Employee_Person_BusinessEntityID.fkey.sql

  • FK_JobCandidate_Employee_BusinessEntityID.fkey.sql

  • PK_Employee_BusinessEntityID.pkey.sql

  • vEmployee.view.sql

  • vEmployeeDepartment.view.sql

  • FK_Document_Employee_Owner.fkey.sql

  • FK_PurchaseOrderHeader_EmployeeID.fkey.sql

  • FK_SalesPerson_Employee_BusinessEntityID.fkey.sql

  • vSalesPerson.view.sql

  • vSalesPersonSalesByFiscalYears.view.sql

  • AWGenPlan.dgen

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

Après avoir apporté des modifications et avant d'archiver l'application 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 des tests.

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

  2. Sélectionnez dbo_ufpLeadingZeroTest, cliquez dessus avec le bouton droit, puis cliquez sur Exécuter la sélection.

  3. Consultez les résultats des tests 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 le test est exécuté et réussi.

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 BusinessEntityID 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 indiquer 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. Pour plus d'informations sur la génération et le déploiement de votre base de données, consultez Générer et déployer des bases de données dans un environnement de développement isolé et Générer et déployer des bases de données dans un environnement de pré-production ou de production.

Notes

Si vous déployez sur le même serveur à partir duquel vous avez initialement importé AdventureWorks2008, une erreur peut s'afficher. Si une erreur s'affiche, cela signifie que vous ne pouvez pas créer un fichier car il existe déjà, vous avez peut-être omis une étape dans la première procédure pas à pas. Pour plus d'informations, consultez Pour déployer le projet sur votre environnement de développement isolé.

Pour en savoir plus sur les fonctionnalités de base de données de Visual Studio, vous pouvez exécuter les procédures pas à pas plus détaillées pour chacune des fonctionnalités spécifiques.

Voir aussi

Concepts

Refactoriser le code et les données d'une base de données

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

Vérification du code de base de données à l'aide de tests unitaires

Comparer et synchroniser des schémas de base de données