Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

sqlproj (SQL Server 2012) स्क्रिप्ट में msbuild गुणों का उपयोग कैसे करें

एक 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. asp.net में डेटाबेस में सम्मिलित किए गए बड़े छवि आकार को अद्यतन नहीं कर सकता

  2. SQL सर्वर 2008 में राइट (टेबल) अनुमति कैसे दें?

  3. एक एसक्यूएल पंक्ति हैश?

  4. मौजूदा SQL Server 2005 डेटाबेस में डेटाटाइप varchar को nvarchar में बदलें। कोई परेशानी?

  5. मैं डेटटाइम ऑफसेट स्केल को linq से Sql में ChangeConflictException उत्पन्न करने से कैसे रोकूं?