2010-08-03 10 views
5

मुझे उम्मीद थी कि कोई डेटाबेस का उपयोग कर रेल अनुप्रयोगों को कॉन्फ़िगर करने के लिए कुछ सर्वोत्तम प्रथाओं का सुझाव दे सकता है (यानी एक फ्लैट फ़ाइल के बजाय डेटाबेस में स्थायी कॉन्फ़िगरेशन सेटिंग)। इसके लिए मेरा तर्क यह है कि मेरे पास एक ऐसा एप्लिकेशन है जो एकाधिक सर्वर पर चलाएगा और कुछ विन्यास सेटिंग्स हैं जो काफी गतिशील हैं और मैं उन्हें प्रत्येक सर्वर पर बदलाव किए बिना बदलना चाहता हूं।रेल अनुप्रयोगों को प्रबंधित करने का सबसे अच्छा तरीका डेटाबेस कॉन्फ़िगरेशन सेटिंग्स डेटाबेस में जारी है?

अन्य भाषाओं में, मैंने इसे एक सरल विन्यास तालिका (जैसे नाम/मूल्य जोड़े) और एक सिंगलटन का उपयोग करके देखा है जो कॉन्फ़िगरेशन डेटा का खुलासा करता है और समय-समय पर ताज़ा हो जाता है। रेल के साथ ऐसा करने के लिए एक समान या बेहतर तरीका है?

अग्रिम धन्यवाद।

+0

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

उत्तर

1

मुझे सबसे अच्छा समाधान नहीं है, लेकिन हमारे आंतरिक ऐप्स के लिए हमने जो कुछ किया है वह एक 'कॉन्फ़िगरेशन' फ़ील्ड बनाता है जो केवल एक धारावाहिक हैश युक्त टेक्स्ट फ़ील्ड है। फिर हम डीबी से भार पर deserialize।

+0

सुझाव के लिए धन्यवाद। क्या आप अनुप्रयोग हेल्पर मॉड्यूल का उपयोग कॉन्फ़िगरेशन हैश पर क्वेरी/deserialize/गेटर-प्रकार विधियों को प्रदान करने के लिए करते हैं? या क्या एक बेहतर दृष्टिकोण है? –

0

नहीं वास्तव में डीबी आधारित है, लेकिन YML फाइलों में सेटिंग का प्रबंधन करने के लिए GitHub पर इस रत्न की जाँच: रूबी/रेल के लिए सिंगलटन संदर्भ के लिए

https://github.com/modcloth/mc-settings

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

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