WP डेटाबेस को git का उपयोग करके कई डेवलपर्स में सिंक किया जाता रहा


33

मैं अपने git वर्कफ़्लो को बेहतर बनाने पर काम कर रहा हूँ क्योंकि यह मेरे वर्डप्रेस डेवलपमेंट प्रोजेक्ट्स पर लागू होता है। अक्सर सामग्री प्रबंधन प्रणाली विकसित करते समय, मैं एक http://dev.finalsitename.comकस्टम सर्वर (जैसे ) बनाऊंगा जिसमें कस्टम पोस्ट प्रकार और टैक्सोनॉमी शामिल होंगे जिनका उपयोग उत्पादन संस्करण में किया जाएगा। इससे मेरा क्लाइंट साइट पर अपनी सामग्री जोड़ना शुरू कर सकता है।

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

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

अन्य डेवलपर्स एक ही प्रोजेक्ट पर काम करने के लिए कई डेवलपर्स (और क्लाइंट / कंटेंट प्रोड्यूसर) को अनुमति देते समय अपने डेटाबेस को सिंक में रखने के लिए क्या कर रहे हैं?

जवाबों:


12

सबसे आसान से 3 विकल्प हैं ->

  1. केवल एक दूरस्थ डेटाबेस का उपयोग करें जिसे आप सभी बहुत सारे बैकअप से जोड़ते हैं। इस तरह से आपको सिर्फ फाइलों के बारे में चिंता करनी है न कि db की।

  2. वर्डप्रेस में निर्मित आयात और निर्यात कार्यक्षमता का उपयोग करें और इसे अपने संस्करण नियंत्रण में wp रूट (एक नए फ़ोल्डर में) की तरह फेंक दें। यकीन है कि इसमें कुछ मिनट लगते हैं लेकिन यह आसान है और आप इसे स्वचालित कर सकते हैं, लेकिन इससे भी महत्वपूर्ण बात यह है कि यह संस्करण नियंत्रण का हिस्सा बन जाएगा।

  3. वास्तविक डेटाबेस सिंक के संस्करण के लिए कस्टम अपडेटिंग स्क्रिप्ट का उपयोग करें। मैं ईमानदारी से नहीं जानता कि आप इसे कैसे प्रबंधित कर सकते हैं क्योंकि यह सिर्फ एक स्क्रिप्ट है और वास्तव में नहीं जानता कि क्या चल रहा है, मुझे पता है कि तीसरे पक्ष के उपकरण हैं जो इस वाणिज्यिक और मुफ्त ( http: // www) करते हैं। liquibase.org/ )।


1

यदि आपको डेटाबेस को पूरी तरह से सिंक में रखने की आवश्यकता है, अर्थात। स्कीमा और डेटा, आप बैकअप के आधार पर एक कस्टम संस्करण प्रणाली विकसित कर सकते हैं।

या यदि आप डेटा को उत्पादन से रखना चाहते हैं, लेकिन इसके स्कीमा को विकसित करना चाहते हैं, तो आप कस्टम समाधान (सभी स्कीमा परिवर्तनों के साथ एक संस्करणित फ़ाइल), या की अवधारणा के आधार पर एक मानक समाधान के साथ काम कर सकते हैं migration। आप इस स्टैकओवरफ़्लो थ्रेड में बहुत सी जानकारी पा सकते हैं: db स्कीमा परिवर्तनों को ट्रैक करने के लिए तंत्र


इसके अलावा एक सरल यहाँ stackoverflow.com/questions/825787/…
ग्राम

1

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

अन्यथा जब मैं एक समूह परियोजना पर काम कर रहा हूं तो हमारे पास अलग-अलग सामग्री के साथ अपने स्वयं के सेटअप हैं। कोड टेबल संरचनाओं को अपग्रेड करने और माइग्रेट करने का ख्याल रखता है और हम LAN पर हमारी मशीनों पर चल रहे कोड के प्रत्येक स्थानीय प्रतिष्ठानों तक पहुंच सकते हैं, इसलिए हमें सामग्री साझा करने की कोई आवश्यकता नहीं है।

यदि हम ऐसी सामग्री दर्ज कर रहे हैं जो हम इसे एक परीक्षण सर्वर पर चलाते हैं, जिसे हम या तो लाइव सर्वर में निर्यात कर सकते हैं और आयात कर सकते हैं, या यदि वर्तमान में कोई लाइव उदाहरण मौजूद नहीं है, तो हम सीधे उत्पादन सर्वर पर माइग्रेट कर सकते हैं।

यदि किसी भी बिंदु पर आपको लाइव परीक्षण और WIP डेटा के पृथक्करण की आवश्यकता है, तो बस अपनी रिपॉजिटरी में लाइव, परीक्षण और विकास शाखा का उपयोग करें

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