2013-02-10 26 views
5

मैं वर्तमान में एक ढांचा सीख रहा हूं जो माइग्रेशन का समर्थन करता है।माइग्रेशन का उपयोग करने के लाभ

मेरा प्रश्न है: माइग्रेशन का उपयोग करने के लिए मुख्य लाभ क्या है?

हम तालिकाओं को जोड़ने/बदलने/बदलने और अन्य परिचालनों को सीधे करने के लिए डेटाबेस प्रशासक उपकरण का उपयोग क्यों नहीं करते हैं? या क्यों न सिर्फ मेरी .sql फ़ाइल निर्यात करें और मेरी टीम इसे अपने डेटाबेस में आयात करें?

उत्तर

7

माइग्रेशन तैनाती प्रक्रिया का हिस्सा हैं। तो माइग्रेशन के लाभ (सामान्य रूप में)

  • हैं आप मैन्युअल रूप से ऐसा करने की जरूरत नहीं है (क्योंकि तैनाती पर आप शायद अभी या बाद में एक स्कीमा परिवर्तन भूल)
  • आप स्थानीय स्तर पर यह परीक्षण कर सकते हैं (क्योंकि आप शायद जल्दी या बाद में गलतियां करते हैं)
  • आपको अपने टीम के सदस्यों को मैन्युअल रूप से अपने स्थानीय डेटाबेस को बदलने के लिए नहीं कहना है (क्योंकि यह केवल परेशान है), या एक नया डंप आयात करें (फिर से ...)
  • यदि आप कई वातावरण हैं (चरण, प्रोड, परीक्षण) आपको किसी भी सिस्टम पर यह कदम करना है। यह गलतियों
  • आप शायद (शायद पुराना) लिव-प्रणाली में विकास-डेटाबेस आयात करने के लिए नहीं करना चाहते हैं की संभावना बढ़ जाती है; एक परियोजना की शुरुआत में)

ध्यान दें, कि एक स्कीमा हो सकता है सरल और डेटाबेस छोटा हो, लेकिन यह यह नहीं रहेगा। जल्द या बाद में (;)) आपको विशाल डेटाबेस का सामना करना पड़ेगा, जिसमें आयात करने में समय लगता है।

अतिरिक्त: त्रुटियों के मामले में आमतौर पर एक अच्छा माइग्रेशन "डाउनग्रेड" होता है। यदि आपके पास तैनाती गलत है तो आपके दृष्टिकोण के साथ आपको मैन्युअल रूप से अपने डेटाबेस परिवर्तनों को वापस करना होगा, जो कि और भी त्रुटि प्रवण है।

+0

यह बहुत उपयोगी था :) –

3

उनके डेटाबेस के लिए संस्करण नियंत्रण के रूप में उनके बारे में सोचें। यह PHPMyAdmin में आपके द्वारा किए गए कार्यों को याद रखने के बजाय, कई वातावरणों में आपके परिवर्तनों को तैनात करता है (उदा। आपका विकास वातावरण, फिर आपका परीक्षण/उत्पादन सर्वर) आसान और स्वचालित।

किसी को यह बताने में आसान है कि उन्हें अपने डीबी में माइग्रेट करने की आवश्यकता है, ताकि उन्हें अपने डीबी में प्रत्येक व्यक्तिगत परिवर्तन को बताने की आवश्यकता हो।

+0

क्यों न सिर्फ मेरी .sql फ़ाइल निर्यात करने के लिए और मेरी टीम इसे अपने डेटाबेस में आयात करें ?? और आपके उत्तर के लिए धन्यवाद :) –

+0

आप ऐसा कर सकते हैं, लेकिन शायद वे आपके लिए एक अलग सुविधा पर काम कर रहे हैं और उन्होंने उपयोग कर रहे अस्थायी परीक्षण डेटा का एक गुच्छा जोड़ा है। डीबी माइग्रेशन उन्हें अपने टेस्ट डेटा को रखने की अनुमति देगा और पूरे डीबी को बदलने और फिर अपने टेस्ट डेटा को दोबारा जोड़ने के बजाय अपने नए बदलाव जोड़ देगा। – ChrisC

+0

@ खालिदखिलिल सबसे आसान जवाब: यदि आपके पास डेटाबेस है, तो यह अविश्वसनीय रूप से कष्टप्रद है, जो कि 500 ​​एमबी से अधिक है (आपको कहना है) और आपको इसे बार-बार आयात करना होगा, क्योंकि एक टीम सदस्य एक कॉलम जोड़ता है: डी – KingCrunch

संबंधित मुद्दे