मान लें कि मैं Image.column_names करता हूं और यह पोस्टमोड जैसे सभी कॉलम दिखाता है लेकिन मैं कैसे जांचूं कि post_id पर एक अनुक्रमणिका है या नहीं?रेल कंसोल के माध्यम से कॉलम पर कोई अनुक्रमणिका होने पर जांच कैसे करें?
उत्तर
ActiveRecord "कनेक्शन एडेप्टर" कक्षाओं में से एक पर index_exists? विधि है।
आप इस तरह इसका इस्तेमाल कर सकते हैं:
Image.connection.index_exists? :images, :post_id
मेरे लिए काम किया है:
ActiveRecord::Base.connection.index_exists?(:table_name, :column_name)
दूसरों के रूप में उल्लेख किया है, आप अगर स्तंभ पर एक सूचकांक मौजूद है की जाँच करने के लिए निम्न का उपयोग कर सकते :
ActiveRecord::Base.connection.index_exists?(:table_name, :column_name)
हालांकि यह ध्यान देने योग्य है कि यह सूचकांक मौजूद है अगर यह सूचकांक मौजूद है वह कॉलम और केवल वह कॉलम। यदि आप कंपाउंड इंडेक्स का उपयोग कर रहे हैं तो यह आपके कॉलम को शामिल नहीं करेगा। आप
ActiveRecord::Base.connection.indexes(:table_name)
के साथ एक मेज के लिए अनुक्रमित के सभी देख सकते आप index_exists?
के लिए स्रोत कोड को देखें, तो आपको लगता है कि आंतरिक रूप से यह indexes
उपयोग कर रहा है या नहीं अपनी अनुक्रमणिका मौजूद लगाने की देखेंगे। तो अगर, मेरे जैसे, उनका तर्क आपके उपयोग के मामले में फिट नहीं है, तो आप इन इंडेक्स के माध्यम से लूप कर सकते हैं और देख सकते हैं कि उनमें से कोई काम करेगा या नहीं। मेरे मामले में, तर्क इस प्रकार था:
ActiveRecord::Base.connection.indexes(:table_name).select { |i| i.columns.first == column_name.to_s}.any?
यह भी ध्यान देना महत्वपूर्ण है, indexes
सूचकांक कि स्वचालित रूप से रेल आईडी के लिए उत्पन्न करता है, बताते हैं यही वजह है कि कुछ लोगों को ऊपर index_exists?(:table_name, :id)
- 1. स्कॉप अलग होने पर जांच कैसे करें?
- 2. कैपिस्ट्रानो के माध्यम से उत्पादन पर रेल कंसोल कैसे दर्ज करें?
- 3. ओरेकल में किसी तालिका पर किसी विशिष्ट कॉलम के लिए कोई अनुक्रमणिका होने पर आप कैसे पता लगाते हैं?
- 4. एक ज़िप फ़ाइल दूषित होने पर तुरंत जांच कैसे करें?
- 5. डीएलआईएमपोर्ट, डीएलएल लोड होने पर जांच कैसे करें?
- 6. छोटी टेबल पर कोई अनुक्रमणिका नहीं है?
- 7. जावा से मोंगोडब से कनेक्ट होने पर कंसोल पर लॉगिंग को रोकने के लिए कैसे?
- 8. ftp निर्देशिका मौजूद होने पर पायथन जांच कैसे करें?
- 9. रेल कंसोल स्टार्टअप पर रन कमांड
- 10. रेल कंसोल पर रूबी स्क्रिप्ट फ़ाइल पास करें
- 11. कोणीय: कंसोल के माध्यम से घटक निर्भरता कैसे प्राप्त करें?
- 12. MySQL - शामिल होने पर विशिष्ट कॉलम?
- 13. विधि के माध्यम से पारित होने पर 'is' का उपयोग कैसे करें?
- 14. cout पर कोई कंसोल आउटपुट
- 15. कंसोल बंद होने पर एप्लिकेशन को बाहर निकलने से रोकें
- 16. रेल 3 पर रुबी में एकाधिक कॉलम अपडेट कैसे करें?
- 17. स्थापित नहीं होने पर फ़ायरबग कंसोल को अनदेखा करें
- 18. रेल कंसोल के साथ कंसोल?
- 19. रेल कॉलम कैसे करें?
- 20. टीएसक्यूएल: कॉलम पूर्ण टेक्स्ट सक्षम होने पर कैसे जांचें?
- 21. प्रिंटिंग से कंसोल पर लापरवाही बंद करें
- 22. mkdir PHP से विफल होने पर कोई कारण कैसे ढूंढें?
- 23. कंसोल पर रन कोड बंद करें?
- 24. रेल पर रूबी में महीनों के माध्यम से लूप कैसे करें
- 25. रेल कंसोल से प्राप्त होने वाले सभी स्थिरांकों की सूची कैसे प्राप्त करें
- 26. रेल पर रूबी के माध्यम से wget का उपयोग
- 27. सिग्विन के माध्यम से विंडोज पर sshpass कैसे स्थापित करें?
- 28. कंसोल पर लॉग कैट आउटपुट कैसे करें?
- 29. कोई कंसोल के साथ cmd.exe के माध्यम से अलग प्रक्रिया को कैसे लॉन्च करें?
- 30. कॉलम शून्य होने पर SQLiteCursor क्या करेगा?
'id' विशेषता के मामले में यह हमेशा 'झूठी' देता है। क्या मैं कुछ गलत कर रहा हूं 'रेफरल.कनेक्शन.इंडेक्स_एक्सिस्ट्स? : रेफ़रल, आईडी आईडी? – kamal
@kamal 'index_exists? 'जांचता है कि कॉलम पर कोई अनुक्रमणिका मौजूद है। यह नहीं पता कि यह कैसे चेक किया गया है, लेकिन मेरे लिए यह कभी-कभी झूठी वापसी भी करता है। इंडेक्स द्वारा नाम की जांच करने के लिए [index_name_exists?] (Http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-index_name_exists-3F) है, यह कस्टम इंडेक्स – ololobus
@ ololobus लेकिन इस विधि 'index_name_exist?' को इंडेक्स नाम से जानना आवश्यक है, जो जानना मुश्किल है क्योंकि आप यह भी नहीं जानते कि इंडेक्स है या नहीं या जिसके लिए आप वास्तव में खोज रहे हैं। – kamal