मुझे दूसरे दृष्टिकोण से कहना चाहिए। एंटिटी फ्रेमवर्क डेटाबेस रखरखाव किसी भी उद्यम या बड़े डेटाबेस प्रोजेक्ट में पूरी तरह से बेकार है।
समस्याएं हैं:
स्वचालित स्कीमा अद्यतन। यह बिल्कुल वैसा नहीं है जैसा मैं चाहता हूं क्योंकि यह डेटाबेस रखरखाव के मूल सिद्धांतों का पूरी तरह से उल्लंघन करता है। समस्याएँ हैं: (ए) एक नया संस्करण चलाने वाला कोई व्यक्ति किसी समस्या को प्राप्त करने के बजाय डेटाबेस को अपडेट करता है और (बी) अपडेट सामान्य रूप से बैकअप एफआईआरएसटी लेने के साथ डीबीए के साथ निर्धारित किया जाता है। तो, स्वचालित अपडेट बेकार हैं।
डीबी निर्माण केवल मूल रूप से पतले किनारे के मामलों पर काम करता है। उन्नत डेटाबेस सुविधाओं का उपयोग करने की कोशिश भी न करें - चाहे जो भी हो। Sql सर्वर उदाहरण: सूचकांकों में फ़ील्ड्स, सूचकांकों पर फ़िल्टर, विभाजन, संपीड़न, फ़ील्ड के लिए सत्यापन नियम शामिल हैं।
माइग्रेशन - पतले किनारे के मामलों को फिर से मानता है: कोई डेटा परिवर्तन या मल्टी स्टेप अपडेट आसानी से नहीं। उदाहरण: तालिका X में एक ऐतिहासिक "उपयोगकर्ता" फ़ील्ड है जो उपयोगकर्ता को कुछ रिकॉर्ड करता है। नए सेटअप में एक उपयोगकर्ता तालिका है, इसलिए उपयोगकर्ता तालिका बनाने की आवश्यकता है, फिर उपयोगकर्ताओं को बनाएं, फिर तालिका x में उपयोगकर्ता संदर्भ फ़ील्ड बनाएं, फिर उपयोगकर्ता तालिका से उपयोगकर्ता के साथ इसे अपडेट करें, फिर उपयोगकर्ता फ़ील्ड हटाएं।
इन परिदृश्यों से निपटने का एकमात्र समझदार तरीका पीढ़ी और प्रवासन स्क्रिप्ट और उचित संस्करण हैं।
अब, SSDT - यह एक विशिष्ट डेटाबेस संस्करण को एंटिटी फ्रेमवर्क की तुलना में बहुत बेहतर रूप में संस्करण के लिए एक महान उपकरण है क्योंकि यह वास्तव में काम करता है। जैसे: यह सभी विशेषताओं को रिकॉर्ड करता है। डेटाबेस में से कोई भी मेरे पास नहीं है, मैं बहुत पहले कोड का उपयोग कर सकता हूं - क्योंकि हमने हमेशा कम से कम सूचकांकों को फ़िल्टर किया है;) EF को मुझे 10% भी नहीं मिलेगा जो मुझे चाहिए।
हमारा दृष्टिकोण है:
डेटाबेस में डिज़ाइन डेटाबेस, फिर एक एसएसडीटी मॉड्यूल के साथ सिंक करें जो चेक इन हो जाता है। स्कीमा सिंक डेवलपर्स को अपने संस्करण को तेजी से अपडेट करने की अनुमति देता है। वर्तमान संस्करण के साथ हमेशा एक आधिकारिक मास्टर डेटाबेस होता है कहीं (एक विशेष सर्वर पर) तो हमारे पास काम करने के लिए एक संदर्भ संस्करण है।
डेल्टा स्क्रिप्ट को रिलीज़ के लिए आवश्यकतानुसार बनाएँ जो संस्करणबद्ध भी हों और उन्हें डेटाबेस में तैनात करने के लिए एक अच्छा तंत्र हो।