मैंने RedGate और Visual Studio दोनों के डेटाबेस प्रोजेक्ट को आज़माया है और मैं डेटाबेस प्रोजेक्ट में डेटाबेस की परिभाषा को संग्रहीत करना पसंद करता हूँ। जैसे ही डेटाबेस समाधान का हिस्सा बन जाता है, आप अपने पसंदीदा स्रोत नियंत्रण प्रदाता का उपयोग कर सकते हैं। अधिकांश में उत्कृष्ट विज़ुअल स्टूडियो एकीकरण है।
SSDT टूल के साथ आपके पास डेटाबेस परिभाषा का 'नवीनतम संस्करण' है, जिससे आप आसानी से स्कीमा तुलना कर सकते हैं और स्कीमा अपग्रेड स्क्रिप्ट उत्पन्न कर सकते हैं।
उन्होंने कहा, स्कीमा आमतौर पर केवल एक हिस्सा होता है। वास्तविक जीवन में यह पता चला है कि डेटाबेस में पहले से ही बहुत सारा डेटा है। और मेरे उपयोगकर्ता इसे ढीला करने के बजाय निराश हो जाते हैं।
इसलिए जैसे ही मैंने v1.0 को रोल आउट किया, अपग्रेड स्क्रिप्ट को बनाए रखने के लिए आवश्यकता में वृद्धि हुई। कभी-कभी इनमें सिर्फ स्कीमा परिवर्तन होते हैं, लेकिन कई बार मुझे किसी अन्य तालिका की सामग्री के आधार पर चूक बनाने की आवश्यकता होती है, जब तक कि मैं डेटा को बीजित नहीं करता हूं, तब तक एक विशेष बाधा को जारी करने की आवश्यकता होती है। आमतौर पर स्कीमा को अपग्रेड करने से इसमें काफी कटौती नहीं होती है। मेरी प्राथमिकता डेटाबेस प्रोजेक्ट में एक अलग फ़ोल्डर में इन अपग्रेड स्क्रिप्ट को रखना है। ये आमतौर पर 'अपग्रेड v1.0 से v1.1' तक दिखते हैं।
मेरे डेटाबेस में हमेशा एक संदर्भ तालिका होती है जो मुझे वर्तमान संस्करण संख्या बताती है, इसलिए मैं असंगत उन्नयन को अवरुद्ध कर सकता हूं। मेरी अपग्रेड स्क्रिप्ट्स में पहला स्टेटमेंट मौजूदा वर्जन को चेक करता है और अगर यह अपेक्षित है तो अलग है।
डेटाबेस परियोजनाओं से एक और लाभ एक ही स्कीमा के आधार पर डेटा के विभिन्न सेटों को तैनात करने में सक्षम होना है। मेरे पास विकास के लिए एक अलग डेटासेट, क्यूए टीम, उपयोगकर्ता स्वीकृति परीक्षण और स्वचालित एकीकरण परीक्षण हैं। चूंकि एक डेटाबेस प्रोजेक्ट में केवल 1 पोस्ट-तैनाती स्क्रिप्ट हो सकती है, इसलिए यहां ट्रिक एक नया डेटाबेस प्रोजेक्ट बनाने के लिए है जो 'मास्टर' प्रोजेक्ट को संदर्भित करता है और कस्टम डेटासेट को उस प्रोजेक्ट की पोस्ट परिनियोजन सत्रों का हिस्सा बनाने के लिए है।
ये मेरे 2 सेंट थे, जो भी आप आएंगे, इन सबसे ऊपर, यह आपको और आपकी टीम को फिट करना चाहिए और अधिकांश सामान्य कार्यों में आपका समर्थन करना चाहिए।