http://odetocode.com/Blogs/scott/archive/2008/01/30/11702.aspx
ऊपर ब्लॉग हमारे वर्तमान डेटाबेस संस्करण नियंत्रण प्रणाली के लिए हमें ले आया। सीधे शब्दों में कहें, अद्यतन डीक्रिप्ट के बिना कोई डीबी परिवर्तन नहीं किए जाते हैं और सभी अद्यतन स्क्रिप्ट हमारे स्रोत नियंत्रण भंडार में हैं।
हम केवल स्कीमा परिवर्तनों का प्रबंधन करते हैं लेकिन आप संस्करण नियंत्रण में उपलब्ध डेटा के डंप को रखने में भी सक्षम/सक्षम हो सकते हैं; ऐसी फाइलें बनाना mysqldump का उपयोग करके एक बहुत ही छोटा अभ्यास है।
हमारा समाधान ब्लॉग में प्रस्तुत किए गए समाधान से अलग है: यह स्वचालित नहीं है। हमें डेटाबेस अपडेट आदि को लागू करना होगा, हालांकि यह थोड़ा समय लेने वाला हो सकता है, लेकिन कुछ प्रयासों को स्थगित कर दिया गया है, जो पूरी तरह से स्वचालित सिस्टम की आवश्यकता होगी। एक चीज जिसे हमने स्वचालित किया था, सॉफ्टवेयर में डीबी संस्करण ट्रैकिंग था: यह बहुत आसान था और यह सुनिश्चित करता है कि हमारे सॉफ़्टवेयर को उस डेटाबेस के बारे में पता है जो यह चल रहा है और केवल तभी चलाएगा जब यह स्कीमा के साथ काम कर रहा हो।
हमारे समाधान का सबसे कठिन हिस्सा यह था कि हमारी शाखाओं से हमारे ट्रंक में अपडेट कैसे मर्ज करें। हमने एक ही समय में डीबी अपडेट के साथ शाखाओं को मर्ज करने की कोशिश करने और इसे संभालने के लिए दो डेवलपर्स की संभावना को हल करने के लिए वर्कफ़्लो विकसित करने के लिए कुछ समय बिताया। हम अंततः संस्करण नियंत्रण में एक फ़ाइल लॉक करने के लिए बस गए (हमारे लिए प्रश्न में फ़ाइल वास्तव में एक डीबी संस्करण के लिए एक टेबल मैपिंग सॉफ्टवेयर संस्करण है जो हमारी मैन्युअल प्रबंधन रणनीति में सहायता करता है), जैसा कि आप धागे के महत्वपूर्ण खंड में होंगे, और डेवलपर जो प्राप्त करता है ताला ट्रंक के अपने अपडेट के बारे में चला जाता है। पूरा होने पर, दूसरा डेवलपर लॉक करने में सक्षम होगा और यह सुनिश्चित करने के लिए कि उनकी अपेक्षित संस्करण टकराव और अन्य बुरे जुजू से बचा जा सके, उनकी स्क्रिप्ट में आवश्यक परिवर्तन करना उनकी ज़िम्मेदारी है।
यह वास्तव में एक दिलचस्प विकल्प की तरह दिखता है। मुझे .NET माइग्रेशन लाइब्रेरी – Greg
के साथ कुछ लोगों का अनुभव सुनना अच्छा लगेगा, अपडेट के लिए धन्यवाद, मैं माइग्रेशन रूट का प्रयास करने जा रहा हूं। – Greg
मैंने माइग्रेटोरोटनेट में अपने कुछ संशोधनों को बनाया है और अब इसे काफी सफलतापूर्वक उपयोग कर रहा हूं। – Greg