2010-08-12 3 views
5

मेरे पास एक नया विजुअल स्टूडियो 2008 डाटाबेस प्रोजेक्ट (डेटा ड्यूड) है। यह हमारे मौजूदा डेटाबेस पर इंगित करके उत्पन्न किया गया था। मैंने अब कुछ बदलाव किए हैं (नए कॉलम, टेबल, इंडेक्स, आदि) और मैं तैनाती के लिए तैनाती (diff) स्क्रिप्ट उत्पन्न करने की कोशिश कर रहा हूं। तुलना करने और diff स्क्रिप्ट फ़ाइल उत्पन्न करने के लिए मेरे पास स्कीमा तुलना सेटअप है। मुझे लगता है कि मैंने तुलनात्मक सेटिंग्स में से अधिकांश को tweaked किया है और ऑब्जेक्ट मुझे जो चाहिए उसे अनदेखा करता है, हालांकि, शीर्ष पर मुझे कुछ अलग डेटाबेस आदेश मिलते हैं जिन्हें मैं उत्पन्न नहीं करता था। वे इस तरह दिखेगा:स्कीमा के दौरान वैकल्पिक डेटा 2008 डाटाबेस प्रोजेक्ट उत्पन्न करता है

IF EXISTS (SELECT 1 
      FROM [master].[dbo].[sysdatabases] 
      WHERE [name] = N'$(DatabaseName)') 
    BEGIN 
     ALTER DATABASE [$(DatabaseName)] 
      SET ANSI_NULLS ON, 
       ANSI_PADDING ON, 
       ANSI_WARNINGS ON, 
       ARITHABORT ON, 
       CONCAT_NULL_YIELDS_NULL ON, 
       QUOTED_IDENTIFIER ON, 
       ANSI_NULL_DEFAULT ON, 
       CURSOR_DEFAULT LOCAL 
      WITH ROLLBACK IMMEDIATE; 
    END 


GO 
IF EXISTS (SELECT 1 
      FROM [master].[dbo].[sysdatabases] 
      WHERE [name] = N'$(DatabaseName)') 
    BEGIN 
     ALTER DATABASE [$(DatabaseName)] 
      SET PAGE_VERIFY NONE 
      WITH ROLLBACK IMMEDIATE; 
    END 


GO 

मैं सेटिंग ट्वीक करने के लिए इतना है कि मैं अपने 15+ सदस्यीय दल को बातचीत करने के लिए है कि वे हर बार वे चाहते हैं differencing फ़ाइल से उन पंक्तियों को हटाने की जरूरत नहीं है पसंद करते हैं अपने पर्यावरण को नवीनतम खींचने और तैनात करने के लिए।

कौन सी सेटिंग्स इसे नियंत्रित कर रही हैं?

उत्तर

1

आपकी प्रोजेक्ट की .sqldeployment और .sqlsettings फ़ाइलों में इसे नियंत्रित करने के लिए सेटिंग्स हैं (समाधान प्रोजेक्ट फ़ोल्डर में आपके प्रोजेक्ट के गुण फ़ोल्डर में उपलब्ध)। सेटिंग्स को .sqlsettings फ़ाइल [DB Settings Screenshot] में tweaked किया जा सकता है और .sqldeployment सेटिंग्स को देखते समय पूरे डेटाबेस गुण स्क्रिप्ट पीढ़ी को अक्षम करने की क्षमता पहले चेकबॉक्स में पाई जा सकती है। [SQL Deployment Settings Screenshot]

+1

बस उत्तर में कुछ और विवरण जोड़ना। जब हमने हमारे मौजूदा डीबी से एसक्यूएल प्रोजेक्ट जेनरेट किया, तो हमने डेटाबेस से SQLSettings जेनरेट करने के विकल्प को याद किया होगा और इसके बजाय, डीबी (डेटा डूड) प्रोजेक्ट के लिए "डिफ़ॉल्ट" सेटिंग्स का उपयोग करना चुना होगा। इसलिए, मेरे वर्तमान डीबी में ये विकल्प सेट नहीं हैं, इसलिए यह उन्हें "फर्क स्क्रिप्ट" पीढ़ी में सेट करना चाहता है क्योंकि उन्हें "डिफ़ॉल्ट" sqlsettings फ़ाइल में निर्दिष्ट किया गया है, लेकिन वास्तव में मेरे डीबी में नहीं। मैं अभी भी उन्हें पीढ़ी से अक्षम करना चाहता हूं, लेकिन यह सुनिश्चित करने के लिए एक सिर है कि आप अपनी डीबी परियोजना को पहली बार साफ करते हैं – Brian

4

दो चेकबॉक्स हैं जिन्हें प्रकाशित प्रोफ़ाइल को सहेजने से पहले अनचेक किया जाना है। सुनिश्चित करें कि आप गुण परियोजना के लिए जाना -> डीबग और सही का निशान हटाएँ "डेटाबेस गुण तैनात"

Click here to view screenshot

तो सही अपने डेटाबेस परियोजना पर क्लिक करें -> सही का निशान हटाएँ "डेटाबेस गुण तैनात करने के लिए" उसके बाद प्रकाशित "उन्नत"

Click here to view screenshot

ठीक क्लिक करें, प्रोफ़ाइल इस रूप में सहेजें क्लिक करें, और अब से, हर बार जब आप का उपयोग कर अपने उत्पन्न स्क्रिप्ट को तैनात प्रकाशित प्रोफ़ाइल आप अभी बनाया है, केवल संशोधनों आप चाहते हैं।

मैं 20-अप्रैल-2016 तक नवीनतम एसएसडीटी के साथ वीएस 2013 का उपयोग कर रहा हूं।

संबंधित मुद्दे