2011-12-29 10 views
14

मैं कोड लिख रहा हूं जो गंतव्य में कुछ डेटा लिखकर, एक डेटाबेस से दूसरे डेटा में माइग्रेट करेगा। यह ActiveRecord का उपयोग करता है, क्योंकि यह पहले से ही एआर का उपयोग कर रेल ऐप से जुड़ा हुआ है।रेल, activerecord, वर्तमान कनेक्शन विनिर्देश प्राप्त करें

चूंकि कुछ डेटा ओवर-लिखित होंगे, इसलिए मैं एक पुष्टिकरण संकेत प्रदान करना चाहता हूं जो उपयोगकर्ता को गंतव्य कनेक्शन कनेक्शन के लिए वास्तविक कनेक्शन शब्दकोश/spec का उपयोग करता है। आप जानते हैं, एडाप्टर, मेजबान, उपयोगकर्ता नाम, पासवर्ड, डेटाबेस, चीजें जो आप डेटाबेस.आईएमएल में सूचीबद्ध करेंगे।

मैं उन चीज़ों के लिए मॉडल ले सकता हूं जो मैं लिख रहा हूं और कुछ मॉडेल.कनेक्शन के लिए पूछता हूं .... लेकिन लाइव कनेक्शन ऑब्जेक्ट से वास्तविक कनेक्शन स्पेस प्राप्त करने के लिए कोई एपीआई नहीं है।

वास्तव में? क्या मैं कुछ भूल रहा हूँ? कोई अन्य विचार, यहां तक ​​कि अनियंत्रित एपीआई भी?

उत्तर

45

मॉडल पर connection पर कॉल करने के तरीके के समान, आप ActiveRecord :: Base पर connection पर कॉल कर सकते हैं।

ActiveRecord::Base.connection_config 

Look at the docs for ActiveRecord::Base, के रूप में वहाँ अन्य तरीकों है कि आप/सेट संबंध के बारे में जिम्मेदार बताते हैं पाने के लिए अनुमति देते हैं।

+0

हाँ, मुझे पता है कि यह कैसे करें। यह मुझे मोटे तौर पर उसी प्रकार की कार्रवाई देता है जो कुछ मॉडेल को कॉल करता है। कनेक्शन मुझे देता है। मैं कुछ मॉडेल.कनेक्शन को कॉल करना चाहता हूं, क्योंकि तब मुझे पता है कि ऐप अलग-अलग मॉडलों के लिए अलग-अलग इस्तेमाल कर रहा है, तो मेरे पास _right_ कनेक्शन है। लेकिन किसी भी मामले में, यह मेरा प्रश्न है, इसका उत्तर नहीं - मैं # कनेक्शन द्वारा लौटाई गई ऑब्जेक्ट से होस्ट/पोर्ट/डेटाबेस/आदि प्राप्त करने का कोई तरीका नहीं देख सकता। यह मेरा सवाल है। और मैंने दस्तावेज़ों को देखा है, हां। – jrochkind

+0

हा, ठीक है, जबकि आपने मेरे प्रश्न का उत्तर नहीं दिया, तो आपने मुझे इसका नेतृत्व किया। मुझे लगता है कि मैंने ActiveRecord :: बेस पर सावधानी से पर्याप्त ध्यान नहीं देखा था, मैं कनेक्शन एडाप्टर और इस तरह ध्यान केंद्रित कर रहा था। #connection_config जो मैं चाहता हूं, और आप इसे एक विशिष्ट मॉडल पर कॉल कर सकते हैं, SomeModel.connection_config – jrochkind

+0

अच्छी तरह से मुझे खुशी है कि आप समाधान ढूंढ पाए। जब आपने कहा: 'लेकिन लाइव कनेक्शन ऑब्जेक्ट से वास्तविक कनेक्शन का पता लगाने के लिए कोई एपीआई नहीं है।', मुझे इसका विश्लेषण किया गया था क्योंकि आप इसे मॉडल क्लास पर कॉल किए बिना कनेक्शन आंकड़ों पर पहुंचना चाहते हैं। मैं उचित समाधान को प्रतिबिंबित करने के लिए अपना उत्तर अपडेट करूंगा। – Batkins

8

उत्तर है कुछ मॉडेल.कोननेक्शन_config

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