Partager via


Renommer toutes les références à un objet de base de données

Vous pouvez mettre à jour les références aux objets de base de données renommés de manière plus rapide et plus précise à l'aide de la refactorisation de base de données. Si vous renommez un objet de base de données en projet de base de données, vous devez également mettre à jour toutes les références à cet objet afin qu'ils y fassent référence par son nouveau nom. Par exemple, vous devez mettre à jour les procédures stockées qui référencent une colonne de table que vous avez renommée.

En utilisant la refactorisation, vous pouvez mettre à jour les références dans tout le projet de base de données sans avoir à suivre manuellement les objets qui dépendent les uns des autres et à mettre à jour les références une par une. Même si vous utilisez sp_depends pour rechercher les dépendances, il n'extrait pas toujours correctement ces informations, et vous devez alors mettre à jour chaque référence.

Vous pouvez utiliser la refactorisation pour renommer automatiquement les types d'objets suivants :

  • Tables

  • Colonnes de tables, vues et fonctions

  • Paramètres de procédure stockée

Vous pouvez également utiliser la refactorisation pour mettre à jour les plans de génération de données, les scripts et les tests unitaires. Pour plus d'informations, consultez Considérations à prendre en compte avant de renommer des objets de base de données.

Par défaut, la refactorisation ne met pas à jour les objets dont les définitions génèrent un ou plusieurs avertissements ou erreurs. De plus, la refactorisation ne met pas automatiquement à jour le nom du fichier .sql qui contient la définition d'un objet que vous avez renommé. Vous pouvez renommer le fichier manuellement dans l'Explorateur de solutions.

Utilisations supplémentaires de la refactorisation de changement de nom

Vous pouvez également utiliser la refactorisation de changement de nom pour effectuer les tâches courantes suivantes :

  • Dans un environnement ne respectant pas la casse, vous pouvez modifier la casse d'un nom d'objet et de toutes ses références pour respecter les conventions de casse de votre organisation. Par exemple, votre projet de base de données peut contenir une combinaison de références à « Monid » et « MonID » et vous pouvez utiliser la refactorisation de changement de nom pour modifier toutes les références à « MonID ».

    Notes

    Les références dont la casse était déjà correcte sont également mises à jour (à la même valeur). Si le fichier qui contient ces références est sous contrôle de version, il est extrait dans le cadre de l'opération de refactorisation.

  • Vous pouvez renommer plusieurs objets afin que leurs noms et références correspondent. Par exemple, vous pouvez fusionner deux noms de schéma, tels que « Person » et « Person Name ». Vous pouvez également fusionner deux noms qui diffèrent uniquement par leur casse dans un environnement qui respecte la casse, tels que « MyID » et « Myid ».

  • Vous pouvez placer entre crochets un nom d'objet de schéma et toutes ses références pour adhérer aux meilleures pratiques relatives à l'attribution d'un nom à un objet. Par exemple, vous pouvez remplacer toutes les références à « MonID » par « [MonID] ».

    Notes

    Les références qui étaient déjà entre crochets sont également mises à jour (à la même valeur). Si le fichier qui contient ces références est sous contrôle de version, il est extrait dans le cadre de l'opération de refactorisation.

Lorsque vous effectuez ces tâches, un message d'erreur vous prévient qu'un objet de schéma qui porte ce nom existe déjà. Vous devez cliquer sur Oui pour apporter la modification. Toutefois, vous pouvez afficher un aperçu des modifications individuelles et les exclure si, dans la boîte de dialogue Renommer, la case à cocher Aperçu des modifications est activée.

Conservation de votre motif dans le journal de refactorisation

Lorsque vous renommez un objet de base de données, une entrée est ajoutée au journal de refactorisation pour votre projet de base de données. Lorsque vous déployez vos modifications, ce journal contribue à garantir que l'objet correspondant dans l'environnement cible est renommé comme prévu. Sinon, l'objet existant serait ignoré, et un objet serait ajouté avec le nouveau nom. Le journal est maintenu dans un fichier XML nommé NomProjet.refactorlog. Vous archivez ce fichier dans votre système de contrôle de version lorsque vous archivez les autres fichiers qui composent votre projet de base de données. Le fichier NomProjet.refactorlog contient uniquement des informations sur les opérations de refactorisation qui requièrent un traitement particulier pendant le déploiement.

Déploiement

Lorsque vous utilisez la refactorisation, vous mettez à jour uniquement votre projet de base de données, et non une base de données de production. En suivant cette stratégie, vous bénéficiez des avantages des projets de base de données, notamment le contrôle de version et le développement en équipe. Lorsque vous générez le projet de base de données, tous les fichiers journaux de refactorisation sont fusionnés dans le fichier transaction.refactorlog dans le dossier \sql de votre projet. Lorsque vous déployez vos modifications, ce fichier journal de refactorisation fusionné contribue à conserver le motif des modifications apportées au projet de base de données.

Pour plus d'informations, consultez Générer et déployer des bases de données dans un environnement de développement isolé.

Notes

Dans un environnement de travail en équipe, vous devez exécuter des tests unitaires de base de données et d'application avant de déployer vos modifications sur un serveur de production. Pour plus d'informations, consultez Démarrage du développement de bases de données en équipe.

Considérations à observer avant de renommer

Avant de renommer des références à un objet de base de données, vous devez observer des considérations supplémentaires si l'une des affirmations suivantes est vraie :

  • Vous voulez renommer une colonne dans une vue.

  • Vous voulez renommer un objet dans un projet de base de données qui contient une ou plusieurs erreurs qui l'empêchent de procéder correctement à la génération.

  • Vous avez un plan de génération de données non enregistré ouvert.

  • Vous avez un plan de génération de données dans votre projet qui utilise le générateur lié aux données.

  • Vous avez des tests unitaires de base de données qui n'utilisent pas de noms qualifiés complets et ces tests référencent des objets dans d'autres schémas ou bases de données.

  • Vous avez des scripts de base de données dans votre projet qui n'utilisent pas de noms qualifiés complets et ces tests référencent des objets dans d'autres schémas ou bases de données.

Pour plus d'informations sur les considérations spéciales de ces scénarios, consultez Considérations à prendre en compte avant de renommer des objets de base de données.

Tâches courantes

Dans le tableau suivant, vous pouvez trouver les descriptions des tâches courantes qui prennent en charge ce scénario, ainsi que des liens pointant vers des informations supplémentaires sur la façon dont vous pouvez mener à bien ces tâches.

Tâche

Rubriques de prise en charge

Apprendre en faisant : vous pouvez vous familiariser avec le déplacement d'objets de base de données dans un autre schéma, en plus d'autres types de refactorisation, en suivant la procédure pas à pas. Vous pouvez également découvrir comment la refactorisation est utilisée dans le cadre du cycle de vie de développement de votre base de données en suivant les premières procédures pas à pas.

Renommer un objet de base de données : vous pouvez utiliser la refactorisation pour modifier toutes les références à un objet de base de données dans votre projet de base de données. Dans le cadre de l'opération de refactorisation, vous pouvez afficher un aperçu des modifications avant de les appliquer.

Annuler une opération de refactorisation : si vous décidez d'inverser une opération de refactorisation, vous pouvez annuler cette opération de refactorisation dans la session active de Visual Studio.

Déployer les modifications de refactorisation de base de données : après avoir refactorisé le projet de base de données, vous devez déployer ces modifications vers une base de données cible. En général, vous déployez vos modifications dans votre environnement de développement isolé pour les tester avant de les archiver dans le contrôle de version.

Résoudre les problèmes : vous pouvez en savoir plus sur la résolution des problèmes courants liés à la refactorisation de base de données.

Scénarios associés

Renommer les références à un serveur ou une base de données

Déplacer un objet de base de données vers un autre schéma

Qualifier complètement le nom d'objets de base de données

Développer les caractères génériques dans les instructions SELECT

Voir aussi

Concepts

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

Vue d'ensemble des projets de base de données et serveur