我想有条件地在我的 SSDT 项目中构建部署后脚本,但我不明白该怎么做。所以通常会构建部署后脚本,但我想要一种在进行调试构建时不构建或运行部署后脚本的方法。我正在从命令行运行构建,所以我可以传入属性,但是我如何使用属性来不运行部署后脚本?
我看到的选项是 SQLCMD、编辑 SQLPROJ 文件或传入属性,但我找不到任何关于可用属性是什么以及 SQLPROJ 文件不是什么的参考。
我要有条件地构建的文件位于此处:
<ItemGroup>
<PostDeploy Include="PostDeploymentScripts\Script.PostDeployment1.sql" />
</ItemGroup>
我的调试构建块如下所示:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>bin\Debug\</OutputPath>
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
我的命令行如下所示:
msbuild $sqlprojFilePath /p:Configuration="Debug"