Procédure : Spécifier des scripts de prédéploiement et de post-déploiement
Les scripts de prédéploiement et de post-déploiement exécutent des instructions Transact-SQL avant et après le script de déploiement principal, qui est généré à partir du projet de base de données. Le script de prédéploiement ne sera pas exécuté lors de la mise à jour des cibles à partir des résultats de comparaison des schémas dans Visual Studio. Un projet peut comporter un script de prédéploiement et un script de post-déploiement. Ces scripts peuvent être utilisés à de nombreuses fins. Par exemple :
Un script de prédéploiement peut copier les données d'une table qui est modifiée dans une table temporaire avant de les remettre en forme et de les appliquer à la table modifiée dans un script de post-déploiement.
Vous pouvez insérer les données de référence qui doivent exister dans une table dans un script de post-déploiement. Avant d'insérer les données, vérifiez si la table en contient déjà. Si la table n'est pas vide, vous devez supprimer les données existantes ou spécifier que vous souhaitez toujours recréer la base de données avant de la déployer. Ajoutez une instruction telle que la suivante à votre script de post-déploiement :
IF (EXISTS(SELECT * FROM [dbo].[MyReferenceTable]))
BEGIN
DELETE FROM [dbo].[MyReferenceTable]
END
Pour ajouter et modifier un script de prédéploiement ou de post-déploiement
Dans l’Explorateur de solutions, développez votre projet de base de données pour afficher le dossier Scripts.
Cliquez avec le bouton droit sur le dossier Scripts et sélectionnez Ajouter.
Sélectionnez Scripts dans le menu contextuel.
Sélectionnez un script de prédéploiement ou de post-déploiement. Vous pouvez également spécifier un nom qui n'est pas un nom par défaut. Pour terminer, cliquez sur Ajouter.
Double-cliquez sur le fichier dans le dossier Scripts.
L’Éditeur Transact-SQL s’ouvre et présente le contenu du fichier.
Utilisez la syntaxe et les variables SQLCMD dans vos scripts et définissez-les dans les propriétés du projet de base de données. Par exemple :
Utilisez la syntaxe SQLCMD pour inclure le contenu d'un fichier dans un script de pré-déploiement ou de post-déploiement. Ces fichiers sont inclus et s'exécutent dans l'ordre dans lequel vous les définissez :
:r .\myfile.sql
Utilisez la syntaxe SQLCMD pour référencer une variable dans le script de post-déploiement. Vous définissez la variable SQLCMD dans les propriétés du projet ou dans un profil de publication :
:setvar TableName MyTable SELECT * FROM [$(TableName)]
Pour plus d’informations sur l’utilisation de SQLCMD dans des scripts, voir Paramètres des projets de base de données.
Voir aussi
Développement de base de données hors connexion orienté projet
Commentaires
https://aka.ms/ContentUserFeedback.
Prochainement : Tout au long de l'année 2024, nous supprimerons progressivement les GitHub Issues en tant que mécanisme de retour d'information pour le contenu et nous les remplacerons par un nouveau système de retour d'information. Pour plus d’informations, voir:Soumettre et afficher des commentaires pour