2010-12-10 19 views
5

का उपयोग करते समय डेटाबेस माइग्रेशन को संभालना हम सी # में एक ऐप बना रहे हैं जो SQL सर्वर 2008 के साथ एंटीटी फ्रेमवर्क का उपयोग करता है। हम विजुअल स्टूडियो में डिज़ाइनर का उपयोग करके मॉडल को डिज़ाइन करते हैं और इससे ऑटो-जेनरेट करते हैं।एंटीटी फ्रेमवर्क

हम संस्करण 1.0 पर काम कर रहे हैं। जब हम 2.0 जारी करते हैं, तो हमें मॉडल और अंतर्निहित डेटाबेस संरचना में परिवर्तन करने की आवश्यकता होगी। मुझे लगता है कि हमें "डेटाबेस माइग्रेशन" कहा जाता है।

परंपरागत रूप से, मेरे पास डेटाबेस में एक टेबल है जिसे 'संस्करण' कहा जाता है। जब भी मैंने अपने सॉफ़्टवेयर का एक नया संस्करण बनाया है, मैंने डेटाबेस टैबलेट कथन वाले डेटाबेस अपग्रेड स्क्रिप्ट बनाए हैं। मेरे सॉफ़्टवेयर ने संस्करण तालिका की जांच की है और डेटाबेस को 'सॉफ़्टवेयर संस्करण' में अपग्रेड करने के लिए आवश्यक अपग्रेड स्क्रिप्ट चलाएं।

क्या इसे संभालने का कोई बेहतर तरीका है? यह अच्छा होगा अगर मुझे खुद को तालिका-स्क्रिप्ट बदलना पड़े और डेटाबेस संरचना को अपग्रेड करने के लिए अपना स्वयं का सॉफ़्टवेयर लिखना पड़े।

उत्तर

0

मैंने पहले मॉडल के दौरान क्या किया था, क्या मैंने अपने मॉडल को एक डेटाबेस में इंगित किया जो पूरी तरह से स्कीमा के लिए था (इसलिए मेरे पास एक मैप डेटाबेस था, जहां मेरा ऐप भाग गया था, लेकिन मेरा ईएफ 4 मॉडल आउटपुट किया गया था एक myapp_schema डेटाबेस)। जब myapp_schema अपडेट किया गया था, तो मैंने अद्यतन स्क्रिप्ट उत्पन्न करने के लिए Db Source Tools का उपयोग किया और Myapp की डेटाबेस स्कीमा myapp_schema के समान ही बना दिया।

0

इस पोस्ट को बाहर निकालें। यह ईएफ 4 के सीटीपी 4 के बारे में है, लेकिन यह वही है जो आपको चाहिए।

http://blogs.msdn.com/b/efdesign/archive/2010/10/22/code-first-database-evolution-aka-migrations.aspx

Unforunately यह अभी तक उपलब्ध नहीं है। कुछ दिन पहले सीटीपी 5 जारी किया गया था और जहां तक ​​मुझे पता है कि यह अभी तक शामिल नहीं है।

+0

कूल। लेकिन यह समाधान भी ठंडा होगा अगर समाधान आज मॉडल-पहले दृष्टिकोण के साथ काम करता है, बजाय भविष्य में कोड के पहले कभी-कभी। ;-) – Martin

+0

मैं सहमत हूं और मुझे उम्मीद है कि यह कार्यक्षमता कोड-प्रथम तक ही सीमित नहीं होगी, बल्कि मॉडल-प्रथम तक भी विस्तारित होगी। और मुझे उम्मीद है कि वे इसे जल्द से जल्द जारी करेंगे। यह शायद एक समाधान के बाद एक एफवाईआई जवाब था। उम्मीद है कि कोई वास्तव में इस तरह की किसी भी मौजूदा चीज़ के बारे में जानता है। – gligoran

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