डीबी स्कीमा माइग्रेशन और संस्करणों के बारे में यहां कई प्रश्नों को पढ़ने के बाद, मैं अपनी अद्यतन प्रक्रिया के दौरान डीबी स्कीमा को सुरक्षित रूप से अपडेट करने के लिए एक योजना के साथ आया हूं। मूल विचार यह है कि एक अद्यतन के दौरान, हम सभी टेबल को फ़ाइल, ड्रॉप और फिर से बनाने के लिए डेटाबेस निर्यात करते हैं, और फिर सब कुछ पुनः आयात करते हैं। वहां कुछ भी फैंसी या जोखिम भरा नहीं है।डेटाबेस स्कीमा में कॉलम को बहिष्कृत करने का सबसे अच्छा तरीका क्या है?
समस्या यह है कि यह प्रणाली कुछ हद तक "वायरल" है, जिसका अर्थ यह है कि कॉलम या तालिकाओं को जोड़ने के लिए केवल सुरक्षित है, क्योंकि डेटा को फिर से आयात करते समय उन्हें हटाने से समस्याएं उत्पन्न हो सकती हैं। आम तौर पर, मैं इन स्तंभों को अनदेखा कर रहा हूं, लेकिन समस्या यह है कि हटाए गए कई आइटमों को वास्तव में दोबारा प्रतिक्रिया दी गई है, और कोड में पुराने लोगों की मौजूदगी अन्य प्रोग्रामर को यह सोचने में मूर्ख बनाती है कि वे उनका उपयोग कर सकते हैं।
तो, मैं कॉलम या तालिकाओं को बहिष्कृत करने में सक्षम होने का एक तरीका ढूंढना चाहता हूं। आदर्श मामले में, स्कीमा को अपडेट करते समय बहिष्कृत वस्तुओं को चिह्नित किया जाएगा, लेकिन फिर अगले अपडेट के दौरान हमारी बैकअप स्क्रिप्ट बस उन वस्तुओं को नहीं चुन पाएगी जिन्हें इस तरह चिह्नित किया गया है, जिससे हम अंततः स्कीमा के इन हिस्सों को समाप्त कर सकते हैं ।
मुझे पता चला है कि MySQL (और शायद अन्य डीबी प्लेटफ़ॉर्म भी हैं, लेकिन यह वह है जिसे हम उपयोग कर रहे हैं) दोनों फ़ील्ड और तालिकाओं में COLUMN विशेषता का समर्थन करता है। यह सही होगा, सिवाय इसके कि मैं यह समझ नहीं सकता कि वास्तव में इसे सार्थक तरीके से कैसे उपयोग किया जाए। में सभी कॉलम नाम प्राप्त करने के लिए मैं SQL क्वेरी लिखने के बारे में कैसे जाउंगा, जिसमें "बहिष्कृत" शब्द वाला एक टिप्पणी मिलान करने वाला टेक्स्ट होता है? या क्या मैं इस समस्या को सभी गलत देख रहा हूं, और ऐसा करने के लिए एक बेहतर तरीका याद कर रहा हूं?
मुझे समझ में नहीं आता है कि "हटाए गए कई आइटम वास्तव में दोबारा प्रतिक्रिया किए गए हैं, और कोड में पुराने लोगों की मौजूदगी अन्य प्रोग्रामर को यह सोचने में मूर्ख बनाती है कि वे उनका उपयोग कर सकते हैं।" –
डेल्टा एसक्यूएल स्क्रिप्ट को बनाए रखने और निष्पादित करने के बजाय आप इस प्रक्रिया का पालन क्यों करते हैं? – cherouvim