मैं वर्जन किए गए ActiveRecord एसोसिएशन के साथ काम करना चाहता हूं। ईजी।, मैं उस ऑब्जेक्ट को ढूंढना चाहता हूं जो किसी अन्य ऑब्जेक्ट से संबंधित है, एक निश्चित पिछली तारीख के रूप में, या वह जो उससे पहले था। क्या पहले से ही वर्चुअल रिलेशनशिप प्रदान करने के लिए रेल के एक्टिव रिकार्ड को लाइब्रेरी उपखंडित किया गया है? या कुछ अन्य रूबी लाइब्रेरी जो लगातार संस्करण वाले संबंध प्रदान करती है?संस्करणित ActiveRecord एसोसिएशन कैसे प्राप्त करें?
उत्तर
लेनदेन संबंधी अनुप्रयोग में ऐतिहासिक स्थिति का समर्थन करना जटिलता, धीमी गति से डीबी प्रदर्शन का विस्तार करने और अपने लिए जीवन को कठिन बनाने का एक अच्छा तरीका है। यदि आपको केवल ऐतिहासिक स्थिति को प्रदर्शित करने या रिपोर्ट करने की आवश्यकता है और इसे Type-II slowly changing dimensions के साथ स्टार स्कीमा बनाने और इसे अपडेट करने वाली आवधिक प्रक्रिया के बारे में सोचने की आवश्यकता नहीं है।
यह कोड बेस के माध्यम से चल रहे सिस्टमिक एड-हाॉक इतिहास ट्रैकिंग के साथ एक एप्लिकेशन बनाने से काफी कम जटिल होगा। यदि यह दृष्टिकोण आपको एप्लिकेशन की आवश्यकता के अनुसार करेगा, तो आप शायद इसे करने से बेहतर होंगे। इसका यह भी अर्थ है कि एप्लिकेशन डेटाबेस सिस्टम के साथ आने वाले वेनिला डेटाबेस एक्सेस मैकेनिज्म के साथ अच्छी तरह से खेलेंगे।
यदि आपको उचित रूप से लगातार रीफ्रेश की आवश्यकता है तो आप डेटाबेस पर एक बदली गई डेटा कैप्चर सिस्टम को कार्यान्वित कर सकते हैं, जो अपेक्षाकृत सरल है यदि एप्लिकेशन को केवल वर्तमान स्थिति से संबंधित होना चाहिए। सीडीसी तंत्र के साथ लोड प्रक्रिया को केवल परिवर्तनों के आधार पर अद्यतन करना होता है और अपेक्षाकृत तेज़ी से चलाया जाएगा।
ActsAsVersioned प्लगइन
बशर्ते आप डेटा की भारी मात्रा के साथ काम नहीं कर रहे हैं, और अतिरिक्त अस्थायी आयाम किनारे पर अपने डाटाबेस धक्का नहीं होगा की कोशिश करो, वहाँ ऐतिहासिक संस्करणीकृत आंकड़ों के कोई बड़ी कमियां हैं। अतिरिक्त क्वेरी जटिलता थोड़ा दर्द हो सकती है, लेकिन यह कुछ भी बड़ा नहीं है।
मेरे मामले मैं उस संस्करण संभालती एक रेल प्लगइन लिखा में, यह प्रत्येक संस्करणीकृत मेज पर 5 कॉलम कहते हैं (और संभाल की क्वेरी/हेरफेर आदि में मदद करता है):
valid_from - datetime - datetime है कि इस संस्करण था datetime - - datetime कि इस संस्करण में किया जा रहा वैध
root_id बंद कर दिया - पूर्णांक - मूल की आईडी पर
valid_to बनाया पंक्ति
created_by (इस के बाद के संस्करण है कि) - पूर्णांक - पूर्णांक - - उपयोगकर्ता है कि इस संस्करण
retired_by के निर्माण का उपयोगकर्ता आईडी उपयोगकर्ता का उपयोगकर्ता आईडी कि इस संस्करण को सेवानिवृत्त
वर्तमान में सक्रिय पंक्तियों के लिए, valid_to शून्य है। प्रदर्शन को खुश रखने में valid_to एड्स पर एक इंडेक्स जोड़ना।
- 1. हैस_ऑन ActiveRecord एसोसिएशन
- 2. ActiveRecord के दो एसोसिएशन
- 3. ActiveRecord मान्य: एसोसिएशन
- 4. रेल: ActiveRecord एसोसिएशन विधि ओवरराइडिंग
- 5. एसोसिएशन द्वारा मानदंड प्राप्त करें
- 6. ActiveRecord एसोसिएशन के साथ मॉडल उत्पन्न करना
- 7. ActiveRecord: उत्सुक लोड किए गए एसोसिएशन
- 8. MySql :: ActiveRecord में परिणाम कैसे प्राप्त करें?
- 9. एक habtm एसोसिएशन की द्वीप तालिका कैसे प्राप्त करें?
- 10. मिला ActiveRecord :: एसोसिएशन टाइप टाइप करें मॉडल पर सहेजें
- 11. ActiveRecord: मैं नेस्टेड एसोसिएशन कैसे क्लोन कर सकता हूं?
- 12. कई एसोसिएशन होने पर मैं ActiveRecord को कैसे लिखूं?
- 13. रेल, activerecord, वर्तमान कनेक्शन विनिर्देश प्राप्त करें
- 14. एसोसिएशन
- 15. रन-टाइम पर ActiveRecord क्लास के लिए एसोसिएशन खोजें?
- 16. has_many एसोसिएशन
- 17. एक एसोसिएशन
- 18. ActiveRecord: क्या मैं एसोसिएशन कॉपी कर सकता हूं?
- 19. क्या मुझे एक ActiveRecord polymorphic एसोसिएशन को जोड़ना चाहिए?
- 20. Activerecord एसोसिएशन पर रेल गाइड गाइड पर रूबी गलत है?
- 21. ActiveRecord - कैसे
- 22. ActiveRecord
- 23. Mongoid एसोसिएशन
- 24. एसोसिएशन
- 25. एसोसिएशन के माध्यम से एसोसिएशन निर्भर है, जिसे
- 26. एसोसिएशन
- 27. ActiveRecord
- 28. एसोसिएशन
- 29. आश्रित => एसोसिएशन
- 30. accepts_nested_attributes_for बच्चे एसोसिएशन सत्यापन
'मामूली' से असहमत। एक बीमा अंडरराइटिंग सिस्टम पर मैं अनुमानों से कुछ हद तक परिचित हूं कि किसी विशेष संस्करण में जोड़ा गया इतिहास ट्रैकिंग विकास प्रयास के लगभग 70% के लिए जिम्मेदार है। – ConcernedOfTunbridgeWells
दिलचस्प, मेरा व्यक्तिगत अनुभव कुछ हद तक आगे बढ़ता है, लेकिन मैंने सिस्टम को ग्राउंड अप से संस्करणित करने के लिए डिज़ाइन किया है। मैं इसके बाद के संस्करण में इसे जोड़ने के लिए जो दर्द उठाऊंगा, उसकी कल्पना नहीं करना चाहूंगा। सिस्टम में लगभग 20 संस्करण वाली टेबल थीं, 10 अपरिवर्तित थीं। – Michael
एचएम, यह बहुत दिलचस्प लगता है! क्या आपने कहीं अपनी प्लगइन छोड़ी?क्या आप इसे जिथब में अपलोड कर सकते हैं? मुझे कुछ विचार आदि प्राप्त करने के लिए इसे देखना अच्छा लगेगा। – reto