Partager via


Aperçu du script de pré-déploiement et du script de post-déploiement

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Base de données SQL dans Microsoft Fabric

Les scripts de pré-déploiement et de post-déploiement sont des scripts SQL inclus dans le projet à exécuter pendant le déploiement. Les scripts de pré/post-déploiement sont inclus dans le fichier .dacpac, mais ils ne sont pas compilés en un modèle objet de base de données ou validés avec un modèle objet de base de données. Un script de pré-déploiement est exécuté avant l'exécution du plan de déploiement, mais le plan de déploiement est calculé avant l'exécution du script. Un script de post-déploiement est exécuté une fois le plan de déploiement terminé.

Exemple et syntaxe de fichier projet SQL

Un fichier projet SQL peut contenir un seul script de pré-déploiement et un seul script de post-déploiement.

L’exemple suivant tiré d’un fichier projet SQL ajoute le fichier prep-db.sql en tant que script de prédéploiement.

...
  <ItemGroup>
    <PreDeploy Include="prep-db.sql" />
  </ItemGroup>

L’exemple suivant tiré d’un fichier projet SQL ajoute le fichier populate-app-settings.sql en tant que script de post-déploiement.

...
  <ItemGroup>
    <PostDeploy Include="populate-app-settings.sql" />
  </ItemGroup>
</Project>

Plusieurs fichiers peuvent être exécutés dans le cadre d'un script de pré ou post-déploiement en utilisant un script SQLCMD qui appelle chaque fichier dans l'ordre.

:r .\scripts\script1.sql
:r .\scripts\script2.sql

Ces fichiers doivent être exclus de la génération du modèle de base de données en définissant la propriété Build Action sur None dans les propriétés du fichier dans Visual Studio ou en ajoutant une entrée pour le fichier dans le fichier .sqlproj avec l'attribut Build défini sur None.

...
  <ItemGroup>
    <Build Remove="scripts\script1.sql" />
    <Build Remove="scripts\script2.sql" />
  </ItemGroup>
</Project>

AJouter un script de pré-déploiement et un script de post-déploiement

Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet et sélectionnez Ajouter>Script. Sélectionnez un script de pré-déploiement ou un script de post-déploiement.

Le fichier script est ajouté au projet et ouvert dans l'éditeur de requêtes, où vous pouvez terminer le script. Ce script sera exécuté avant ou après l'exécution du plan de déploiement à chaque fois que le projet est déployé.

Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le nœud de projet, puis sélectionnez Ajouter et Nouvel élément. La boîte de dialogue Ajouter un nouvel élément s’affiche, puis sélectionnez Afficher tous les modèles. puis Table. Sélectionnez un script de pré-déploiement ou un script de post-déploiement.

Le fichier script est ajouté au projet et ouvert dans l'éditeur de requêtes, où vous pouvez terminer le script. Ce script sera exécuté avant ou après l'exécution du plan de déploiement à chaque fois que le projet est déployé.

Dans la vue Projets de base de données de VS Code ou Azure Data Studio, cliquez avec le bouton droit sur le projet et sélectionnez Ajouter un script de pré-déploiement ou Ajouter un script de post-déploiement. Fournissez un nom de script sans l’extension de fichier.

Le fichier script est ajouté au projet et ouvert dans l'éditeur de requêtes, où vous pouvez terminer le script. Ce script sera exécuté avant ou après l'exécution du plan de déploiement à chaque fois que le projet est déployé.

Modifier directement le fichier .sqlproj pour ajouter un script de pré-déploiement ou un script de post-déploiement. Ajouter un élément <PreDeploy> ou <PostDeploy> à la section <ItemGroup> du fichier .sqlproj.

Par exemple, pour ajouter le script scripts\before-script.sql à notre projet en tant que script de pré-déploiement :

...
  <ItemGroup>
    <PreDeploy Include="scripts\before-script.sql" />
  </ItemGroup>

Ce script scripts\before-script.sql est exécuté avant l'exécution du plan de déploiement à chaque fois que le projet est déployé.