हमारे पास एक प्रक्रिया है जहां हमारे डेटाबेस लोगों की स्क्रिप्ट हमारे कोड बेस के साथ हमारे एप्लिकेशन के डेटाबेस आउट-ऑफ-बैंड में जूनू का उपयोग करके संस्करण (और उन्हें संस्करण संस्करण) बदलती है। वे नए कॉलम को शून्य के लिए लेखांकन में अच्छे हैं, और मौजूदा डेटा को मिटा नहीं रहे हैं, लेकिन कभी-कभी कॉलम का नाम बदलकर पूरी तरह से संवाद नहीं किया जाता है। इसलिए वे एक परीक्षण सर्वर पर डेटाबेस स्कीमा में कुछ बदलाव करेंगे, हम उन परिवर्तनों के साथ काम करने के लिए इकाई फ्रेमवर्क अपडेट करेंगे, और फिर हमारे कोड को प्रतिबद्ध करेंगे। यह प्रक्रिया ठीक है, को छोड़कर जब इसे तैनात करने का समय है, ठीक है।सत्यापित करें कि लक्ष्य डेटाबेस स्कीमा एंटिटी फ्रेमवर्क में क्या है इसका अनुपालन करता है?
हमारे पास उपयुक्त सर्वर पर सफल निर्माण को तैनात करने के लिए टीएफएस स्थापित है, लेकिन इस बात की कोई गारंटी नहीं है कि उस वातावरण के लिए डेटाबेस अद्यतन किया गया है। यदि अतिरिक्त फ़ील्ड/टेबल/विचार/आदि हैं तो हमें परवाह नहीं है। लक्ष्य डेटाबेस में मौजूद है, लेकिन हम यह जांचने के लिए बिल्ड को बदलना चाहते हैं कि डेटाबेस में कम से कम सब कुछ शामिल है EF के बारे में पता है।
मैंने this question पर देखा, लेकिन मुझे बिल्कुल मिलान करने के लिए स्कीमा की आवश्यकता नहीं है। इसके अलावा, हम नहीं चाहते हैं कि यह डेटाबेस को सीधे बना/संशोधित करे। और this question ऐसा लगता है कि यह एक समान आदर्श प्राप्त करने की कोशिश कर रहा है, लेकिन अभी भी वह नहीं है जिसे हम हासिल करना चाहते हैं। हम सिर्फ ईएफ के हमारे संस्करण को सत्यापित करने के लिए एक प्रकार का एकीकरण परीक्षण लक्ष्य स्कीमा के साथ काम करेंगे।
मैं तैनाती प्रक्रिया के बारे में पूरी तरह से सहमत हूं, लेकिन डेटाबेस लड़का जूनू के माध्यम से उत्पन्न तैनाती स्क्रिप्ट पर भरोसा नहीं करता है, फिर भी डेटाबेस उन्नयन को पूरी तरह से स्वचालित करने के लिए स्वचालित रूप से स्वचालित करता है। इस प्रकार हमें यह सत्यापित करने की आवश्यकता है कि किसी ने लक्षित डेटाबेस में मैन्युअल परिवर्तन नहीं किया है, या केवल आंशिक रूप से अपग्रेड किए गए स्क्रिप्ट को लागू किया है। –