क्या कोई स्थापित प्रथा है कि बहु-डेवलपर/बहु-शाखा (वीसीएस) वातावरण में डेटाबेस दृश्यों का माइग्रेशन सफलतापूर्वक कैसे प्रबंधित किया जा सकता है?बहु-डेवलपर वातावरण में डेटाबेस दृश्यों का माइग्रेशन प्रबंधित करना
हम अपने सभी स्कीमा परिवर्तनों के लिए डेटाबेस माइग्रेशन लाइब्रेरी का उपयोग कर रहे हैं, लेकिन जब कोड के विभिन्न शाखाओं में विभिन्न डेवलपर्स एक ही दृश्य को बदलते हैं तो समस्याएं चलती हैं, लेकिन उनका मूल बिंदु समान था।
प्रत्येक डेवलपर की डेटाबेस की अपनी प्रति है, लेकिन विचारों के रूप में आमतौर पर माइग्रेशन में निर्दिष्ट होने वाली पूरी परिभाषा की आवश्यकता होती है, इसका मतलब है कि जब हम स्टेजिंग या उत्पादन डेटाबेस के खिलाफ माइग्रेशन चलाने के लिए आते हैं, जो भी माइग्रेशन देखता है आखिरी बार किसी भी पिछले दृश्य माइग्रेशन में किए गए किसी भी बदलाव को ओवरराइट करता है।
उदाहरण: SELECT 'x'
:
- देखें वर्तमान की तरह दिखता है।
- डेवलपर 1 शाखा ए शुरू करता है और एक नया कॉलम जोड़ता है। उनका 'अप' माइग्रेशन इस तरह दिखता है:
SELECT 'x', 'y'
। - डेवलपर 2 शाखा बी शुरू करता है और एक नया कॉलम जोड़ता है। उनका 'अप' माइग्रेशन इस तरह दिखता है:
SELECT 'x', 'z'
। - डेवलपर 2 अपनी शाखा को पहले खत्म करता है और माइग्रेशन चलाता है। दृश्य अब
SELECT 'x', 'z'
जैसा दिखता है। - डेवलपर 1 अब अपनी शाखा समाप्त करता है और माइग्रेशन चलाता है। दृश्य अब
SELECT 'x', 'y'
जैसा दिखता है और डेवलपर 2 के परिवर्तन खो गए हैं।
यह मददगार हो सकता है: http://stackoverflow.com/questions/13314725/migrations-in-entity-framework-in-a-collaborative-environment –
https://msdn.microsoft.com/en- हमें/डेटा/dn481501.aspx भी मददगार हो सकता है (और यह ऊपर स्टीव ग्रीन के लिंक में जुड़ा हुआ है) – jjj