仅在调试模式下将 PostDeployment sql 脚本包含在发布中

nuc*_*eet 6 sql-server publish visual-studio dacpac

我有 .dacpac 项目Script.PostDeployment.sql:

:r .\SiteType.sql
:r .\Enums.sql
:r .\DebugData.sql
Run Code Online (Sandbox Code Playgroud)

我想DebugData.sql有条件地包含,仅当我DEBUG在 Visual Studio 中选择配置文件进行发布时才包含,因此在发布生产时我不会包含此数据。

有什么办法可以实现吗?

vvv*_*v4d 3

您可以编辑MSBuild用于创建 dacpac 的.sqlproj文件。

您可以配置 .sqlproj,以便包含或不包含某些脚本,具体取决于您使用的构建配置。

脚步:

  1. 创建项目并添加 PostDeployment 脚本

  2. 编辑 .sqlproj 文件

  3. 更改包含 PostDeploy 脚本的 ItemGroup:

    <ItemGroup Condition=" '$(Configuration)' == 'Debug' "> <PostDeploy Include="PostDeployment.sql" /> </ItemGroup>

  4. 构建调试配置。解压 dacpac,你会发现 PostDeployment.sql

  5. 构建发布配置。提取 dacpac,您将找不到 PostDeployment.sql。