के बजाय डेटामैपर का उपयोग करें DataMapper विचार ActiveRecord से definitely better है। आरडीबीएमएस और नोएसक्यूएल स्टोर्स समेत विभिन्न डेटा स्टोर्स के लिए इसमें एक एपीआई है। DataMapper ActiveRecord के बाद बहुत अधिक स्मार्ट है। इसमें "सामरिक उत्सुक लोडिंग" है। यह सुविधा एकल हाथ से "एन + 1 क्वेरी समस्या" मिटा देती है। इसके अतिरिक्त यह टेक्स्ट प्रॉपर्टी जैसे भारी क्षेत्रों की आलसी लोडिंग की अनुमति देता है। डेटामैपर आपको स्थितियों के घोंसला वाले हैश प्रदान करके किसी भी जटिल ऑब्जेक्ट ग्राफ़ को बनाने और खोजने की अनुमति देता है। ActiveRecods उत्पादन में संघों के लिए उपयोग करने के लिए अनुपयुक्त है। विधि शामिल बदसूरत और unconfigurable है। अक्टूबर 2010 में जोश साइमंड्स patch for this method बनाता है ताकि फ़ील्ड को उत्सुक लोड से बाहर रखा जा सके। लेकिन उस पथ को नजरअंदाज कर दिया गया था और आज रेल 3 में हमारे पास एक ही बदसूरत विधि शामिल है।ActiveRecord
शानदार एआरईएल के साथ रेल 3 में भी, ActiveRecord रेल के लिए सबसे अच्छा ओआरएम से बहुत दूर है। आप कह सकते हैं "वाह, वह नया मणि मेटावेयर Article.where(:title.matches => 'Hello%', :created_at.gt => 3.days.ago)
जैसे अच्छे कोड लिखने की अनुमति देता है"। लेकिन प्रतीक्षा करें ... DataMapper इसे एक बॉक्स से बाहर का समर्थन करता है! शायद DataRper की तरह दिखने के लिए ActiveRecord को संशोधित करने के बजाय बेहतर ओआरएम का विस्तार और समर्थन करना है? डेटामैपर का अधिक विवरण http://datamapper.org/ पर पाया जा सकता है।
मुझे लगता है कि बाद में रिलीज में रेलों को हमें कौन से ओआरएम का उपयोग करना चुनने की अनुमति देनी चाहिए, जैसे कि यह डेटाबेस चयन की अनुमति देता है। यहां तक कि इसमें केवल एक विकल्प "ActiveRecord" होगा, लोग उपलब्ध विकल्पों की खोज करेंगे। जब मैं रेल सीखना शुरू कर रहा था, मैंने सोचा कि केवल ActiveRecord के लिए समर्थन है। और बाद में मैंने कुछ और देखने की कोशिश भी नहीं की।
मैं ये सब सामान क्यों लिख रहा हूं? मुझे लगता है कि हमें इस अच्छे ओआरएम पर अधिक ध्यान देना होगा। यदि आप कुछ लोकप्रिय या लोकप्रिय मणि नहीं हैं, तो डेटामैपर का समर्थन जोड़ने के बारे में सोचें। DataMapper समुदाय को ActiveRecord या किसी अन्य ORM से कुछ माइग्रेशन मार्गदर्शिकाएं लिखनी चाहिए और दस्तावेज़ों को अपरिवर्तित रखना चाहिए और आप उनकी सहायता कर सकते हैं। मेरे लिए, डेटामैपर समुदाय को अधिक लोगों की आवश्यकता है और आप उनमें से एक हो सकते हैं। इस ओआरएम का एकमात्र नुकसान दस्तावेज की कमी है और आप मदद कर सकते हैं।
तो आप इसके बारे में क्या सोचते हैं?
मुझे पता था और इसका उपयोग करें। लेकिन यह इतना स्पष्ट नहीं है कि यह होना चाहिए (रेल में आपको यह नहीं मिल सकता है। केवल "स्किप-एक्टिव-रिकॉर्ड") – AlexParamonov