Sto utilizzando SSDT (e sqlproj) per i nostri progetti MSSQL. Abbiamo alcune variabili che dobbiamo impostare quando pubblichiamo su ogni ambiente.Come rendere SSDT Profile.xml SqlCmdVariable una stringa vuota o facoltativa
Questo funziona perfettamente nella maggior parte dei nostri ambienti in cui assegniamo valori a tutte le variabili, ma quando pubblichiamo nel nostro database live, vorrei poter rendere DomainPrefix una stringa vuota. si è verificato "un errore durante la generazione del piano di distribuzione di distribuzione non può continuare valori mancanti per le seguenti variabili Sqlcmd::
Quando provo a modificare il Live.profile.xml per impostare DomainPrefix o nessun valore ottengo l'errore.. DomainPrefix. "
questo quello che vorrei il Live.profile.xml a guardare come:
<?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>
Qualcuno sa come impostare uno SqlCmdVariable su un valore vuoto o fanno una variabile facoltativa?
Usando:
- VS 2013 sqlproj
- SqlPackage.exe per eseguire il pubblicare al DB da linea di comando
Come stai usando DomainPrefix? È quella parte degli script Pre/Post, utilizzata all'interno di oggetti/codice, nomi di server, qualcos'altro?Se la utilizzi solo per gli script Pre/Post, potresti essere in grado di manipolare tali script di conseguenza con una sezione Production che è leggermente diversa. –
DomainPrefix in particolare viene utilizzato in uno script di post e abbiamo un codice per gestirlo - ma è anche una delle numerose variabili che vogliamo impostare come una stringa vuota, quindi sarebbe bene sapere se c'è un modo per fare è vuoto/opzionale. – Saan
Non sono a conoscenza di alcun modo per farlo, motivo per cui volevo assicurarmi che lo stavi usando solo in uno script Post. Puoi verificare un certo valore (ad es. "Prod") e renderlo vuoto se questo è il caso e/o creare una sezione per Produzione. Penso che fare MS non consideri mai una variabile vuota, perché ciò potrebbe causare il caos se usato all'interno del codice, specialmente per i nomi di DB. –