En tant qu'administrateur de base de données, vous devrez peut-être souvent migrer les changements effectués dans un environnement de base de données vers un autre environnement de base de données. Par exemple, vous devrez peut-être migrer les changements effectués dans une base de données de développement volumineuse dans la base de données de test formelle.
Le tableau suivant présente le processus de migration des changements d'un environnement de base de données à un autre.
Figure 1. Processus de migration des changements d'un environnement de base de données à un autre
La tâche de migration des changements exige l'identification des différences entre les deux environnements de base de données et la modification des seuls objets différents. Dans certains cas, l'identification des différences est facile, par exemple lorsqu'une seule nouvelle table a été ajoutée. Dans d'autres cas, l'identification des différences est plus complexe, par exemple si de nombreux changements ont été apportés à plusieurs tables, si des tables ont été ajoutées ou supprimées ou si des clés externes ont été modifiées, etc.
Vous pouvez utiliser trois approches différentes pour migrer les changements d'une base de données vers une autre :
- Méthode de copier-coller
- Utilisez le copier-coller si vous avez déjà identifié les différences, s'il n'est pas nécessaire de les analyser en détail et si vous êtes sûr qu'il s'agit des changements que vous souhaitez déplacer. Lorsque vous utilisez le copier-coller, l'Editeur de comparaison ne s'affiche pas. Au lieu de cela, lorsque vous copiez-collez un objet d'une base de données à une autre dans l'Explorateur d'administration ou la Liste d'objets, l'Editeur de script de gestion des changements s'affiche et les changements sont immédiatement transférés dans la base de données que vous voulez modifier.
Important : Le copier-coller est la seule méthode qui prend en charge la cope d'objets et de données depuis un schéma vers un autre schéma de la même base de données.
Remarque : Le copier-coller est également la seule méthode qui vous permet de choisir si vous voulez copier, ou non, les obejts requis par les objets que vous avez sélectionnés. Par défaut, les autres méthodes de copie copient également les objets requis. Par exemple, supposons que la Table A dépende de là Table B, et que la Table B dépende de la Table C. Lorsque vous copiez la Tabe A et que vous cochez la case Copier les objets requis, la Table B est également copiée, mais pas la Table C.
- Méthode glisser-déposer
- Utilisez le glisser-déposer si vous avez déjà identifié les différences, si vous êtes sûr qu'il s'agit des changements que vous souhaitez migrer, s'il n'est pas nécessaire de les analyser en détail et si vous ne voulez déplacer que les différences structurelles. Avec cette méthode, les données ne sont pas conservées. Par exemple, si vous migrez une table d'une base de données à une autre, les données de la table ne sont pas conservées.
- Méthode de comparaison (Editeur de comparaison)
- La méthode de migration par comparaison est conseillée lorsque les changements sont complexes et qu'il faut identifier avec soin les différences entre les deux environnements de base de données. Avec cette méthode de comparaison, l'Editeur de comparaison s'affiche. Un modèle de base de données contenant les changements que vous souhaitez migrer dans l'autre base de données s'affiche sur la gauche de l'éditeur. Un modèle de la base de données vers laquelle vous souhaitez migrer les changements s'affiche sur la droite de l'éditeur. Vous pouvez faire une recherche parmi les changements et choisir uniquement ceux que vous souhaitez appliquer.
Important : Vous devez utiliser la méthode par comparaison si la source des changements est un modèle de données physique ou un fichier de script DDL, du moment qu'il ne s'agit pas d'une connexion de base de données.
Quelle que soit la méthode employée, les objets à modifier s'affichent dans l'Editeur de script de gestion des changements, dans lequel vous pouvez générer, personnaliser, puis exécuter les commandes de changement afin d'appliquer les changements à la base de données.