我在我们的 MSSQL 项目中使用 SSDT(和 sqlproj)。在发布到每个环境时,我们需要设置一些变量。
这在我们为所有变量分配值的大多数环境中都非常有效,但是当我们发布到我们的实时数据库时,我希望能够将 DomainPrefix 设为空白字符串。
当我尝试更改 Live.profile.xml 以将 DomainPrefix 设置为无值时,我收到错误消息:“在生成部署计划期间发生错误。部署无法继续。以下 SqlCmd 变量的值缺失:DomainPrefix。”
这就是我希望 Live.profile.xml 的样子:
<?xml version="1.0" encoding="UTF-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0">
<PropertyGroup>
<TargetDatabaseName>DB_NAME</TargetDatabaseName>
<DeployScriptFileName>DB_NAME.sql</DeployScriptFileName>
<TargetConnectionString>CONNECTION_STRING</TargetConnectionString>
<ProfileVersionNumber>1</ProfileVersionNumber>
</PropertyGroup>
<ItemGroup>
<SqlCmdVariable Include="DomainPrefix">
<Value></Value>
</SqlCmdVariable>
<SqlCmdVariable Include="Environment">
<Value>live</Value>
</SqlCmdVariable>
</ItemGroup>
</Project>
有谁知道如何将 SqlCmdVariable 设置为空白值或使其成为可选变量?
使用:
- VS 2013 sqlproj
- SqlPackage.exe 从命令行运行发布到数据库