Vous savez qu'une fois le site Web en ligne, on ne doit pas écraser la base de données. Lorsqu'on apporte une modification à la BD localement (ex : ajout d'un champ, changement du nom ou de la taille d'un champ, ajout de données), il faut conserver une liste des requête SQL permettant de reproduire ces ajustements en ligne.
Visual Studio vous aidera dans cette tâche.
▼Publicité Le texte se poursuit plus bas
À chaque fois que vous modifiez la structure d'une table à l'aide de l'outil de Visual Studio, vous pouvez demander le script permettant de reproduire ces modifications.
Le script obtenu est long et complexe. Il contient des instructions permettant de traiter à peu près tous les cas possibles, avec transfert des données originales vers une table temporaire, et tout, et tout. Vous n'avez pas besoin de tout ce code.
Vous devez retrouver la ou les instructions qui vous permettront d'exécuter exactement les modifications souhaitées.
Ex : pour ajouter le champ produit_prix dans la table produit, la seule instruction nécessaire est la suivante :
ALTER TABLE [dbo].[produit]
ADD [produit_prix] DECIMAL (8, 2) NULL;
Dans l'exemple précédent, remarquez que le champ ajouté a la mention « null ». Pourtant, un prix ne devrait pas pouvoir être laissé à nul. C'est que lorsque vous ajoutez un champ dans une table contenant des données, ce champ prendra par défaut la valeur nulle pour les enregistrements existants. Le SGBD doit donc, dans ce cas, permettre l'ajout de valeurs nulles. Voici donc les options qui s'offrent à vous :
Ex : pour ajouter le champ produit_prix dans la table produit, la seule instruction nécessaire est la suivante :
ALTER TABLE [dbo].[produit]
ADD [produit_prix] DECIMAL (8, 2) NULL;
UPDATE ...
UPDATE ...
ALTER TABLE [dbo].[produit] ALTER COLUMN [produit_prix] DECIMAL (8, 2) NOT NULL;
ou
Ex :
ALTER TABLE [dbo].[produit]
ADD [produit_prix] DECIMAL (8, 2) DEFAULT 0 NOT NULL;
UPDATE ...
UPDATE ...
Peu importe l'approche choisie, vous devrez prendre en note l'ensemble des requêtes qui permettront d'ajuster les tables et les données sur le serveur. Les requêtes UPDATE permettant d'ajuster les données devront être montées « à bras » puisque Visual Studio ne génère que des requête INSERT.
Visual Studio Ultimate est capable de générer un script permettant d'ajuster une BD pour qu'elle prenne la structure d'une autre BD. Aucune comparaison ne sera faite sur les données.
Pour pouvoir utiliser cet outil, vous devez :
ou
Le deuxième scénario sera utilisé dans la démonstration suivante :
Site fièrement hébergé chez A2 Hosting.