sql >> Databáze >  >> RDS >> Sqlserver

jak používat vlastnosti msbuild ve skriptu sqlproj (SQL Server 2012).

V sql serveru 2012 sqlproj (databázový projekt SSDT) ​​používáte profily publikování. Můžete začít kliknutím pravým tlačítkem myši na projekt databáze a výběrem 'Publikovat'.

Poté můžete nastavit požadované možnosti a uložit je do tzv. publikačního profilu ve vašem projektu. Poklepáním na tento profil se spustí průvodce publikováním se správnými nastavenými možnostmi.

Ve svém profilu publikování můžete zahrnout pevně zakódované hodnoty pro proměnné sqlcmd:

<ItemGroup>
    <SqlCmdVariable Include="ProjectDirectory">
        <Value>UNKNOWN</Value>
    </SqlCmdVariable>
</ItemGroup>

V případě potřeby je můžete během sestavování aktualizovat dynamickými hodnotami. Ve vašem projektu msbuild:

<Target Name="SetProjectDirectoryInPublishXml">
    <ItemGroup>
        <Namespaces Include="nsMsbuild">
            <Prefix>nsMsbuild</Prefix>
            <Uri>http://schemas.microsoft.com/developer/msbuild/2003</Uri>
        </Namespaces>
    </ItemGroup>
    <ItemGroup>
        <SSDTPublishFiles Include="$(SolutionBinFolder)\**\*.publish.xml" />
    </ItemGroup>
    <MSBuild.ExtensionPack.Xml.XmlFile Condition="%(SSDTPublishFiles.Identity) != ''"
                                   TaskAction="UpdateElement"
                                   File="%(SSDTPublishFiles.Identity)"
                                   Namespaces="@(Namespaces)" 
                                   XPath="//nsMsbuild:SqlCmdVariable[@Include='ProjectDirectory']/nsMsbuild:Value" 
                                   InnerText="$(MSBuildProjectDirectory)"/>
</Target>

To vyžaduje rozšíření pro aktualizaci XML. Používám rozšiřující balíček msbuild.

Poděkování za tento mechanismus jde na Jamie Thomson




  1. Dva automatické přírůstky nebo automatické přírůstky a stejná hodnota v druhém sloupci

  2. Jak rozdělit sloupec varchar jako více hodnot v SQL?

  3. použití aliasu splynout v podmínce:splynout (max (případ, kdy hodnota, potom hodnota) jako alias

  4. Bitové operace v Postgresu