Magento डेवलपमेंट वर्कफ़्लो: डेटाबेस को "सोर्स कंट्रोल" कैसे करें और टेस्ट Magento इंस्टॉलेशन से लाइव Magento इंस्टॉलेशन को अपडेट करें?


17

मैं इस प्रश्न को पोस्ट कर रहा हूं क्योंकि मैं जानना चाहता हूं कि किसी ऐसे व्यक्ति के लिए सबसे अच्छा विकास कार्यप्रवाह क्या है जो ऑनलाइन स्टोर के सभी पहलुओं का प्रबंधन करना चाहता है।

पाठ्यक्रम के सभी वेब विकास के साथ, एक जीवित प्रतिलिपि होने और संपूर्ण सॉफ़्टवेयर समाधान की कम से कम एक विकास प्रतिलिपि निश्चित रूप से बहुत महत्वपूर्ण है। हालाँकि, Magento के सामान का प्रबंधन अन्य "फ़ाइल-आधारित" सॉफ़्टवेयर का प्रबंधन करने जैसा नहीं है क्योंकि एक डेटाबेस घटक भी है जो खेलने में आता है, इसलिए, इस तथ्य के अलावा कि मैं स्रोत नियंत्रण के लिए VCS उपकरण के रूप में Git जैसे उपकरण का उपयोग कर सकता हूं, कैसे मैं लाइव और विकास संस्करणों के बीच डेटाबेस में अंतर के प्रबंधन के बारे में जाना?

मैं निश्चित रूप से क्रोन के माध्यम से लाइव डेटाबेस का बैकअप बना सकता हूं, और स्रोत नियंत्रण में बैकअप से SQL INSERT विवरण सम्मिलित कर सकता हूं, लेकिन उसके बाद दो डेटाबेस अलग-अलग विकसित होंगे, जबकि ग्राहक रजिस्टर करते हैं और एक तरफ ऑर्डर देते हैं जो लाइव डेटाबेस में जाते हैं, और जैसा कि विकास डेटाबेस के लिए अलग से अपडेट किया जाता है। जब यह विकास और लाइव संस्करणों को मर्ज करने की बात आएगी, तो php फ़ाइलों को git (सिंगल फाइल पर gitignore का उपयोग करके जो डेटाबेस कॉन्फ़िगरेशन विवरण को होस्ट करता है) के माध्यम से कोई समस्या नहीं अपडेट की जा सकती है, लेकिन डेटाबेस फ़ाइलों के बारे में क्या? मैं दो बैकअप से INSERT SQL कथनों वाली दो फ़ाइलों को विलय कैसे कर सकता हूं, बिना किसी आपदा और सिस्टम को बर्बाद किए बिना?

यह Magento विकास जीवन चक्र का छायादार क्षेत्र है जिसका मैं सामना कर रहा हूं: डेटाबेस अंतरों का प्रबंधन करना।

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

तो, परीक्षण Magento सर्वर और लाइव Magento सर्वर के बीच डेटाबेस सिंक्रनाइज़ेशन को संभालने के लिए बेहतर तरीका क्या है?

धन्यवाद।


2
कॉन्फ़िगरेशन के लिए: github.com/punkstar/mageconfigsync
B00MER

जवाबों:


3

वे विकल्प जिनसे मैं अवगत हूं

1.) मैनुअल - दूसरे शब्दों में अपने कार्यों को मैन्युअल रूप से बैक-एंड में दोहराते हुए = जैसा कि आपने त्रुटि, धीमा होने का उल्लेख किया है

2.) प्रत्यक्ष एसक्यूएल प्रश्नों के साथ डेटाबेस स्तर पर = त्रुटि की संभावना है

3.) एक एक्सटेंशन बनाएं जो जोड़ता है, sql सेटअप / अपग्रेड स्क्रिप्ट के माध्यम से परिवर्तन करता है। ये फाइलें आपके भंडार का हिस्सा हैं और इन्हें तैनात किया जा सकता है। यह दृष्टिकोण ज्यादातर UI को बायपास करता है।

4.) इस तरह की परियोजनाओं में कुछ वर्कफ़्लो को अधिक सुखद बनाने की कोशिश में कुछ काम चल रहा है, लेकिन मुझे लगता है कि यह अभी तक प्राइम टाइम के लिए बिल्कुल तैयार नहीं है।

इन सभी विकल्पों में से मैं वर्तमान में 3 के पक्ष में हूं)


हाँ, मुझे भी, एहसान 3 के रूप में। कौन नहीं करेगा हालाँकि, 3 एकमात्र वास्तविक विकल्प है और यह स्थिर नहीं है क्योंकि मैं सभी सुझावों को दरकिनार करने जा रहा हूं और यह समझने के उद्देश्य से परीक्षण कर रहा हूं कि UI स्थानीय सर्वर पर कैसे काम करता है, और सभी उत्पाद सूची और उत्पादों और अन्य अपडेट सीधे लाइव सर्वर पर, संभवतः इसे कुछ समय के लिए ऑफ़लाइन ले जाना, या बेहतर, बस तैयार होने पर उत्पादों को सक्रिय करने के लिए सावधानी बरतें, क्योंकि मुझे किसी भी तरह से सावधान रहना होगा, क्यों नहीं सावधान रहें इस तरह, जो संभवतः 1 और 2 में से कम से कम नुकसान कर सकता है। Thx
जॉन सोंडरसन

3.) स्थिर, दोहराने योग्य और फ़ाइल आधारित है - नकारात्मक पक्ष यह है कि इसे स्थापित करने के लिए अधिक कार्य की आवश्यकता होती है।
फोमन

1

नहीं है mageploy जो भी इस समस्या का समाधान हो सकता है।


अभी तक, mageploy में किसी ने भी अपनी वेबसाइट को अपडेट नहीं किया है। यह अभी भी बताता है कि यह केवल मैगेंटो 1.7.0.2 के लिए है
मैक्स

1

MySQL के लिए क्वेस्ट सॉफ्टवेयर (अब डेल के) टॉड जैसे डेटाबेस टूल हैं। इस डेटाबेस प्रबंधन उपकरण में डेटा और संरचना तुलना विशेषताएं हैं जिनका उपयोग आप दो डेटाबेस के बीच परिवर्तन देखने के लिए कर सकते हैं। बस उन डेटाबेस संस्करणों का बैकअप (या गिट कमिट) रखें जिनकी आप तुलना करना चाहते हैं, और वॉइला। यहां तक ​​कि दोनों को सिंक में लाने के लिए एक स्क्रिप्ट जनरेटर भी है।


1

हमने इस मुद्दे को स्थानीय और पढ़ने / लिखने के विकास के लिए एक दूरस्थ डीबी बनाकर हल किया। वास्तव में समय और दक्षता के साथ मदद करता है; कोई और क्लोनिंग नहीं, सभी के पर्यावरण के लिए DB अपलोड करना।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.