sql - वीएस2012 पोस्ट-परिनियोजन स्क्रिप्ट कई अन्य स्क्रिप्ट का जिक्र करती है



visual-studio-2012 database-project (1)

मैंने VS2012 में एक डेटाबेस प्रोजेक्ट बनाया है। मैंने डेटाबेस संरचना जोड़ा। यह डेटाबेस प्रकाशित करने और तुलना करने के लिए ठीक काम करता है।

अब प्रकाशित पर मैं डिफ़ॉल्ट डेटा के साथ स्वचालित रूप से कई तालिकाओं को लोड करना चाहता हूं।

मैंने एसक्यूएल प्रबंधन स्टूडियो से उत्पन्न INSERT स्टेटमेंट के साथ पांच स्क्रिप्ट फाइलें बनाई हैं। वे मेरे डेटाबेस प्रोजेक्ट में एक स्क्रिप्ट फ़ोल्डर में जोड़े गए थे।

फिर मैंने BuildAction=PostDeploy सेट किया। यह ठीक काम करता है। लेकिन किसी कारण से PostDeploy एक स्क्रिप्ट सेट होना PostDeploy ....

मुझे एहसास है कि मैं सभी स्क्रिप्ट को एक फाइल में ले जा सकता हूं। लेकिन मेरे पास बहुत कुछ है और कुछ आदेश बनाए रखने के लिए उन्हें अलग-अलग फाइलों में समूहित करना पसंद करेंगे।

मैंने फिर एक PostDeploy.sql फ़ाइल बनाई और वहां से अन्य सभी स्क्रिप्ट फ़ाइलों को संदर्भित करने का प्रयास किया। फ़ाइल हेडर निर्देश देता है:

Post-Deployment Script Template                         
----------------------------------------------------------------------------
This file contains SQL statements that will be appended to the build script.
Use SQLCMD syntax to include a file in the post-deployment script.
Example:      :r .\myfile.sql

तो मैं अपनी फाइल लिखता हूं:

:r .\MyScript1.sql
:r .\MyScript2.sql
:r .\MyScript3.sql
:r .\MyScript4.sql
:r .\MyScript5.sql

फ़ाइल गलत वाक्यविन्यास पर शिकायत करती है।


यह पता चला कि विजुअल स्टूडियो ने मुझे गलत वाक्यविन्यास चेतावनियों के साथ बेवकूफ़ बना दिया! मेरा सेटअप पूरी तरह से मान्य था।

चेतावनियों से बचने के लिए फ़ाइल के अंदर कहीं भी क्लिक करें और "निष्पादन सेटिंग्स - एसक्यूएलसीएमडी मोड" चुनें।

SQLCMD मोड नामक एक टूलबार बटन भी एक ही काम कर रहा है।

यदि आपको टूलबार बटन नहीं मिल रहा है तो मेनू आइटम यहां दिया गया है:





database-project