2013-02-15 59 views
5

मैंने माइग्रेशन सक्षम के साथ एंटीटी फ्रेमवर्क 5 का उपयोग करके विजुअल स्टूडियो 2010 में एक एएसपी.नेट एमवीसी 4 प्रोजेक्ट बनाया है। मेरे पास विभिन्न वातावरण (डीबग, स्टेजिंग, रिलीज) के लिए कई वेब कॉन्फ़िगरेशन फ़ाइलें हैं जो पर्यावरण के आधार पर अलग-अलग डेटाबेस कनेक्शनस्ट्रिंग निर्दिष्ट करती हैं। मैं एकाधिक कॉन्फ़िगरेशन फ़ाइलों के साथ पैकेज प्रबंधक कंसोल से Update-Database कमांड का उपयोग करके माइग्रेशन को कैसे प्रबंधित करूं? प्रत्येक बार जब मैं यह आदेश चलाता हूं, तो यह मुख्य Web.config कनेक्शन स्ट्रिंग पर डिफ़ॉल्ट होता है। किसी भी सहायता के लिए अग्रिम धन्यवाद।एकाधिक वेब कॉन्फ़िगर ट्रांसफॉर्म के साथ इकाई फ्रेमवर्क माइग्रेशन

+0

आप विभिन्न परिवेशों में अपना कोड कैसे तैनात कर रहे हैं? अर्थात। विजुअल स्टूडियो का उपयोग कर? सीआई जेनकींस? –

+0

मैं वर्तमान में विजुअल स्टूडियो में प्रकाशित वेब विकल्प का उपयोग कर रहा हूं। – bbango

+0

मैंने सोचा कि डेटाबेस –

उत्तर

6

चीजों को यथासंभव सरल रखने की कोशिश करने के लिए, जिस तरह से मैंने अपने रिमोट स्टेजिंग और प्रोडक्शन सर्वर पर माइग्रेशन चलाने के लिए काम किया है, पैकेज कंसोल से निम्न आदेश चलाने के लिए है (डेटा स्रोत और उपयोगकर्ता/पास बदल जाएगा जो सर्वर के आधार पर मैं के खिलाफ माइग्रेशन) चलाने के लिए चाहता था:

Update-Database -Verbose -ConnectionString "Data Source=ServerName;Initial Catalog=db;User Id=user;Password=pass;" -ConnectionProviderName "System.Data.SqlClient" 

इस मामले में किसी और अब तक मेरे लिए काम किया है लग रही है। टिप्पणियों के लिए सबका शुक्रिया।

0

विभिन्न envrionment में माइग्रेट करने के लिए, आपको Web config transform tool का उपयोग करना चाहिए, मुझे नहीं लगता कि यह इकाई फ्रेमवर्क माइग्रेशन की ज़िम्मेदारी है।

+1

ट्रांसफॉर्म ठीक से काम कर रहे हैं। मैं अलग-अलग वातावरण में माइग्रेशन को संभालने और डेटाबेस को अद्यतन करने का अस्पष्ट हूं। – bbango

0

http://msdn.microsoft.com/en-us/data/jj618307.aspx

एफई कोड पहले माइग्रेशन जो आप 'अपडेट' कमांड प्रॉम्प्ट के माध्यम से आदेश को चलाने के लिए अनुमति देता है एक विस्थापित उपकरण के साथ आता है।

मुझे सच में यकीन नहीं है कि आपका सेट अप कैसे हुआ, लेकिन हमने कुछ ऐसा ही किया जहां हम अपने सीआई सर्वर (जेनकींस) के माध्यम से कोड तैनात करते हैं। मैंने फिर कमांड लाइन के माध्यम से अद्यतन-डेटाबेस चलाने के लिए एक पोस्ट परिनियोजन चरण जोड़ा।

इसके बारे में क्या बढ़िया है आप कनेक्शन स्ट्रिंग भी निर्दिष्ट कर सकते हैं।

फिर से, यह सब निर्भर करता है कि यह आपकी प्रक्रिया में कैसे फिट बैठता है, आप यह भी आपके लिए निष्पादित करने के लिए नंत का उपयोग कर सकते हैं।

उम्मीद है कि इससे मदद मिलती है।

+0

यह migrate.exe उपकरण जो मैं खोज रहा हूं वह हो सकता है। आपके पास आपके तैनाती प्रक्रिया से संबंधित एक साइड प्रश्न है, तो माइग्रेशन विफल होने पर आप वापस कैसे वापस आते हैं, या कुछ अप्रत्याशित हो जाता है? – bbango

+0

हम पारंपरिक तरीके से रोल-बैक करेंगे। डीबीमिग्रेशन आपको माइग्रेशन स्क्रिप्ट को लक्षित करने की अनुमति देता है (यदि आपको वापस रोल करने की आवश्यकता है) लेकिन मैं आपके उत्पादन सर्वर को वापस रोल करने के लिए इस पर भरोसा नहीं करता। आप माइग्रेशन से एक स्क्रिप्ट भी उत्पन्न कर सकते हैं –