You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Pre- and post-deployment scripts are SQL scripts that are included in the project to be executed during deployment. Pre/post-deployment scripts are included in the `.dacpac` but they aren't compiled into or validated with database object model. A pre-deployment script is executed before the deployment plan is executed but the deployment plan is calculated before the script executes. A post-deployment script is executed after the deployment plan completes.
22
+
Pre-deployment and post-deployment scripts are SQL scripts that are included in the project to be executed during deployment. Pre/post-deployment scripts are included in the `.dacpac` but they aren't compiled into or validated with database object model. A pre-deployment script is executed before the deployment plan is executed but the deployment plan is calculated before the script executes. A post-deployment script is executed after the deployment plan completes.
23
23
24
24
## SQL project file sample and syntax
25
25
@@ -44,14 +44,14 @@ The following example from a SQL project file adds the file `populate-app-settin
44
44
</Project>
45
45
```
46
46
47
-
Multiple files can be executed as part of a pre- or post-deployment script by using a SQLCMD script that calls each file in order.
47
+
Multiple files can be executed as part of a pre-deployment or post-deployment script by using a SQLCMD script that calls each file in order.
48
48
49
49
```sql
50
50
:r .\scripts\script1.sql
51
51
:r .\scripts\script2.sql
52
52
```
53
53
54
-
Those files should be excluded from the database model build by setting the `Build Action` property to `Remove` in the file properties in Visual Studio or by adding an entry for the file in the `.sqlproj` file with the `Build` attribute set to `Remove`. When the SQL project is built, the additional files are combined into their referencing pre-deployment or post-deployment script in the `.dacpac` by the Microsoft.Build.Sql project SDK.
54
+
Those files should be excluded from the database model build by setting the `Build Action` property to `Remove` in the file properties in Visual Studio or by adding an entry for the file in the `.sqlproj` file with the `Build` attribute set to `Remove`. When the SQL project is built, the extra files are combined into their referencing pre-deployment or post-deployment script in the `.dacpac` by the `Microsoft.Build.Sql` project SDK.
55
55
56
56
```xml
57
57
...
@@ -77,38 +77,38 @@ In SDK-style SQL projects, adding a `Build Remove="path\file.sql"` entry removes
77
77
78
78
This prevents the file from being compiled as part of the database model while keeping it visible in the project.
79
79
80
-
> [!TIP]
80
+
> [!TIP]
81
81
> You can validate the pre-deployment and post-deployment scripts after project build, by changing the `.dacpac` file extension to `.zip` and unarchiving the `.zip` to a folder. A single `.sql` file is present for pre-deployment and post-deployment scripts, and should contain the entire Transact-SQL contents of all referenced files in the originating SQL project.
82
82
83
-
## Add pre- and post-deployment scripts
83
+
## Add pre-deployment and post-deployment scripts
84
84
85
85
::: zone pivot="sq1-visual-studio"
86
86
87
87
In **Solution Explorer**, right-click the project and select **Add** > **Script**. Select **Pre-Deployment Script** or **Post-Deployment Script**.
88
88
89
-
The script file is added to the project and opened in the query editor, where you can complete the script. This script will be executed before or after the deployment plan is executed every time the project is deployed.
89
+
The script file is added to the project and opened in the query editor, where you can complete the script. This script will be executed before or after the deployment plan is executed, every time the project is deployed.
90
90
91
91
::: zone-end
92
92
93
93
::: zone pivot="sq1-visual-studio-sdk"
94
94
95
-
In **Solution Explorer**, right-click the project node and select **Add**, then**New Item**. The **Add New Item** dialog appears, select **Show All Templates**. and then **Table**. Select**Pre-Deployment Script** or **Post-Deployment Script**.
95
+
In **Solution Explorer**, right-click the project node and select **Add** >**New Item**. The **Add New Item** dialog appears, select **Show All Templates** > **Table**, then select**Pre-Deployment Script** or **Post-Deployment Script**.
96
96
97
-
The script file is added to the project and opened in the query editor, where you can complete the script. This script will be executed before or after the deployment plan is executed every time the project is deployed.
97
+
The script file is added to the project and opened in the query editor, where you can complete the script. This script will be executed before or after the deployment plan is executed, every time the project is deployed.
98
98
99
99
::: zone-end
100
100
101
101
::: zone pivot="sq1-visual-studio-code"
102
102
103
-
In the **Database Projects** view of VS Code or Azure Data Studio, right-click the project and select **Add Pre-Deployment Script** or **Add Post-Deployment Script**. Provide a script name without the file extension.
103
+
In the **Database Projects** view of Visual Studio Code or Azure Data Studio, right-click the project, and select **Add Pre-Deployment Script** or **Add Post-Deployment Script**. Provide a script name without the file extension.
104
104
105
-
The script file is added to the project and opened in the query editor, where you can complete the script. This script will be executed before or after the deployment plan is executed every time the project is deployed.
105
+
The script file is added to the project and opened in the query editor, where you can complete the script. This script will be executed before or after the deployment plan is executed, every time the project is deployed.
106
106
107
107
::: zone-end
108
108
109
109
::: zone pivot="sq1-command-line"
110
110
111
-
Edit the `.sqlproj` file directly to add pre- or post-deployment scripts. Add a `<PreDeploy>` or `<PostDeploy>` item to the `<ItemGroup>` section of the `.sqlproj` file.
111
+
Edit the `.sqlproj` file directly to add pre-deployment or post-deployment scripts. Add a `<PreDeploy>` or `<PostDeploy>` item to the `<ItemGroup>` section of the `.sqlproj` file.
112
112
113
113
For example, to add the script `scripts\before-script.sql` to our project as a pre-deployment script:
114
114
@@ -119,7 +119,7 @@ For example, to add the script `scripts\before-script.sql` to our project as a p
119
119
</ItemGroup>
120
120
```
121
121
122
-
This script `scripts\before-script.sql` is executed before the deployment plan is executed every time the project is deployed.
122
+
This script `scripts\before-script.sql` is executed before the deployment plan is executed, every time the project is deployed.
0 commit comments