Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

как да използвате свойствата на msbuild в sqlproj (SQL Server 2012) скрипт

В sql сървър 2012 sqlproj (SSDT проект за база данни) използвате профили за публикуване. Можете да започнете, като щракнете с десния бутон върху вашия проект за база данни и изберете „Публикуване“.

След това можете да зададете желаните опции и да ги запишете в така наречения профил за публикуване във вашия проект. Двойното щракване върху този профил стартира съветника за публикуване с правилния набор от опции.

Във вашия профил за публикуване можете да включите твърдо кодирани стойности за sqlcmd променливи:

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

Ако желаете, можете да ги актуализирате с динамични стойности по време на изграждане. Във вашия проект 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>

Това изисква разширение за актуализиране на XML. Използвам пакета с разширения msbuild.

Кредитите за този механизъм отиват на Джейми Томсън




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Не може да се отстранят грешки в съхранени процедури на SQL Server 2005 в Visual Studio Team System 2008

  2. Трябва да предам имена на колони, използвайки променлива в оператора за избор в процедурата на магазин, но не мога да използвам динамична заявка

  3. Коментираният код извежда грешка

  4. По-бързо запитване за едно двоично (1) поле или 8 битови полета?

  5. SQL заявка за получаване на набора от резултати само в две колони