मैं DataMapper का उपयोग कर रहा हूं, रूबी के लिए ओपन सोर्स ओआरएम, और मेरे पास खुजली है, मैं खरोंच करना चाहता हूं। फिलहाल, डेटामैपर सामरिक उत्सुक लोडिंग (एसईएल) का उपयोग कई से अधिक रिश्तों के लिए कर सकता है, लेकिन कई से ज्यादा नहीं, जहां एन + 1 प्रश्न होते हैं। मैं इस काम को सही तरीके से बनाने के साथ चारों ओर हैक करना चाहता हूं, लेकिन मुझे यह नहीं पता कि यह कहां करना है। तो दो भाग प्रश्न:सामरिक उत्सुक डाटामैपर में कई से अधिक संबंधों के लिए लोड हो रहा है?
- मैं परीक्षण सूट कैसे चला सकता हूं ताकि यह असफल होने के लिए दिखाएगा (एनबी। अभी सभी चश्मा जो विफल होने चाहिए लंबित के रूप में चिह्नित हैं)?
- एसईएल एक से कई रिश्तों के लिए कहां और कैसे लागू किया जाता है?
/lib/dm-core/associations/relationship.rb
# Eager load the collection using the source as a base # # @param [Collection] source # the source collection to query with # @param [Query, Hash] query # optional query to restrict the collection # # @return [Collection] # the loaded collection for the source # # @api private def eager_load(source, query = nil) targets = source.model.all(query_for(source, query)) # FIXME: cannot associate targets to m:m collection yet if source.loaded? && !source.kind_of?(ManyToMany::Collection) associate_targets(source, targets) end targets end
./lib/dm-core/associations/:
वाह, 2½ साल और यह अभी भी एक फिक्स है! क्या परीक्षण कम से कम ठीक से विफल हो जाते हैं? –
दरअसल, मैं डेटामैपर के साथ विकास नहीं कर रहा हूं, मेरी इच्छा है कि मेरे पास कोई समय न हो। शायद इस सवाल को डेटामैपर समूह या आईआरसी में पूछा जा सकता है। – CodeGroover