आप डाउनटाइम के बिना लाइव डेटाबेस में स्कीमा परिवर्तन कैसे करते हैं?
उदाहरण के लिए, मैं कहता हूं कि मेरे पास एक PostgreSQL डेटाबेस है जिसमें एक टेबल है जिसमें विभिन्न उपयोगकर्ता डेटा जैसे ईमेल पते आदि, सभी विशिष्ट उपयोगकर्ताओं के साथ जुड़े हैं। अगर मैं ईमेल पतों को एक नई समर्पित तालिका में स्थानांतरित करना चाहता था, तो मुझे स्कीमा को बदलना होगा और फिर ईमेल डेटा को नई तालिका में स्थानांतरित करना होगा। मूल तालिका में लिखे बिना इसे कैसे रोका जा सकता है? निश्चित रूप से जबकि डेटा को पुरानी तालिका से नए पर लिखा जाता है, नए डेटा को पुरानी तालिका में लिखना जारी रहेगा और याद किया जाएगा, है ना?
मुझे लगता है कि यह समस्या बहुत बार सामने आती है लेकिन मैं इससे निपटने के लिए कोई मानक समाधान नहीं खोज सकता।
यह लेख समस्या से संबंधित है, लेकिन मुझे वास्तव में चरण 3 समझ में नहीं आया। वह दोनों तालिकाओं को लिखने के लिए कहता है, फिर पहले तालिका से नए में पुराने डेटा को माइग्रेट करता है। आप यह कैसे सुनिश्चित करते हैं कि आप केवल पुराने डेटा को माइग्रेट कर रहे हैं?
(मैं Heroku पर PostgreSQL का उपयोग करता हूं ।)