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