हमारे पर्यावरण में डेटाबेस को 2 अलग-अलग वातावरण/अनुप्रयोगों द्वारा साझा किया जा रहा है। 2 अनुप्रयोगों में से, पहले एक -लेट ए कहते हैं, अक्सर अपडेट हो जाता है, जबकि दूसरा एप्लिकेशन बी अक्सर अपडेट नहीं होता है।एक ही डेटाबेस का उपयोग कर एकाधिक अनुप्रयोगों से संग्रहीत प्रक्रिया कोड परिवर्तनों को कैसे प्रबंधित करें?
तो यहां स्थिति तब होती है जब एप्लिकेशन ए को नए कोड, मुख्य रूप से संग्रहीत प्रक्रियाओं के साथ अपडेट किया जाता है, यह कभी-कभी दूसरी एप्लिकेशन बी को प्रभावित और तोड़ सकता है, जिसे किसी अन्य टीम द्वारा अपडेट किया जा रहा है, और अक्सर अपडेट नहीं किया जाता है। मैं समझता हूं कि इसे संभालने का सही तरीका नहीं होना चाहिए और दोनों वातावरण को एक साथ अद्यतन नहीं करना विनाशकारी हो सकता है। ऐसा इसलिए हो रहा है क्योंकि अनुप्रयोगों को & बी विभिन्न टीमों द्वारा संभाला जा रहा है।
आप इस स्थिति को सुंदर तरीके से कैसे संभालेंगे?
आवेदन बी से सावधानियों मैं ले सकता है कर रहे हैं - कोड में प्राप्त कर रहा है डेटा - सबसे अच्छा तरीका है डेटा पुनर्प्राप्त करते समय, खाली/बातिल स्तंभों के लिए जाँच करने के लिए किया जाएगा, ताकि नए कॉलम आवेदन एक से जोड़ा जाता है, वे कर सकते हैं आवेदन बी द्वारा अनदेखा किया जाए। एसक्यूएल में डेटा पुनर्प्राप्त करना - प्रक्रिया के भीतर, इसे वैकल्पिक पैरामीटर का उपयोग करके संभाला जा सकता है।
लेकिन जब सी # कोड एक प्रक्रिया को कॉल करता है, तो हमें पैरा मानों को पारित किया जाना चाहिए, और यदि नए पैरामीटर जोड़े गए हैं, तो यह टूट जाता है। क्या यह सुनिश्चित करने का कोई तरीका है कि यदि कॉलम पैरामीटर गुम है, तो इसे अनदेखा किया जाना चाहिए (सी # या SQL सर्वर से)?
मेरे शोध से पता चलता है -
कि मैं sproc पहले से मानकों की सूची प्राप्त कर सकते हैं, और उसके बाद के माध्यम से प्रक्रिया पाश करने के लिए उस सूची का उपयोग कर फोन और देखें कि क्या परम मौजूद है। ताकि अगर एप्लिकेशन ए नए पैरा जोड़ता है, तो इसे स्वचालित रूप से एप्लिकेशन बी द्वारा नियंत्रित किया जा सकता है। यह पैरा सूची प्राप्त करने के लिए सी # या SQL क्वेरी में DeriveParameters का उपयोग करके किया जा सकता है।
सीएसवी के रूप में पैरामीटर लेने के लिए सभी एसपीआरओसी बदलें। और उन्हें एसपीआरओसी में विभाजित करें और तदनुसार इसका इस्तेमाल करें। यह सैकड़ों मौजूदा sprocs के लिए लंगड़ा लगता है।
फिर, जैसा कि मैंने कहा - यह does not एक अच्छा समाधान की तरह लग रही है, और अगर आप एक ऐसी ही स्थिति थी, आप इसे कैसे अलग ढंग से संभाला होता? क्या वहां कोई ढांचा है, जो मुझे नहीं पता कि इस परिदृश्य के आसपास कौन सा काम कर सकता है?
पर्यावरण - ASP.NET/C# 4.0, एसक्यूएल सर्वर 2008 R2
संपादित करें - मुझे अलग तरीके से व्यक्त और यहाँ एक छोटे से अधिक जानकारी प्रदान करते हैं।
आवेदन/टीम ए कोड बदलता है, लेकिन केवल सी # कोड उत्पादन में लुढ़का जाता है, डीबी परिवर्तन नहीं। यह वह जगह है जहां अंतर है। और डीबी कोड केवल अगली रिलीज के साथ ही जाएगा।
एप्लिकेशन/टीम बी का नवीनतम कोड है, लेकिन डीबी परिवर्तन अभी तक उत्पादन में नहीं हैं, और अभी भी पुराने डेटाबेस का उपयोग करते हैं।
अब तक पोस्ट किए गए 3 उत्तरों के अनुसार, चूंकि समस्या साझा डेटाबेस है, समाधान डेटाबेस में सबसे अच्छा है, न कि अनुप्रयोगों का उपयोग करने वाले अनुप्रयोगों में। –
क्या आप अंततः दूसरी टीम के साथ क्या करना है इस पर एक समझौते की व्यवस्था की? –