Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

jak używać właściwości msbuild w skrypcie sqlproj (SQL Server 2012)

W sql server 2012 sqlproj (projekt bazy danych SSDT) ​​używasz profili publikowania. Możesz zacząć, klikając prawym przyciskiem myszy projekt bazy danych i wybierając „Opublikuj”.

Następnie możesz ustawić żądane opcje i zapisać je w tak zwanym profilu publikacji w swoim projekcie. Dwukrotne kliknięcie tego profilu uruchamia kreatora publikowania z ustawionymi poprawnymi opcjami.

W swoim profilu publikowania możesz dołączyć zakodowane na stałe wartości zmiennych sqlcmd:

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

W razie potrzeby możesz zaktualizować je za pomocą wartości dynamicznych podczas kompilacji. W twoim projekcie 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>

Wymaga to rozszerzenia do aktualizacji kodu XML. Używam pakietu rozszerzeń msbuild.

Podziękowania dla tego mechanizmu trafiają do Jamie Thomson




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dane wyjściowe z SQL Server i C# są różne

  2. W jakiej kolumnie należy umieścić indeks klastrowy?

  3. Najlepsze rozwiązanie do stronicowania przy użyciu SQL Server 2005?

  4. Jak używać Top z powiązaniami w SQL Server — samouczek SQL Server / TSQL część 114

  5. Przejdź przez pierścień schowka w SQL Server Management Studio (SSMS) — samouczek SQL Server / TSQL, część 8