2010-11-25 13 views
6

मुझे अपने डीबी में एक दृश्य बनाने की जरूरत है। मुझे पता है कि मैं create_table विधि के साथ तालिकाओं को बनाने के लिए ActiveRecord का उपयोग कर सकता हूं। मुझे आश्चर्य है कि क्या create_table जैसा कुछ भी है लेकिन यह इसके बजाय एक दृश्य बनाता है।क्या ActiveRecord (Rails) में create_view की तरह कुछ भी है?

+0

इस लेख पर एक नज़र डालें: https://ideamotive.co/blog/materialized-views-ruby-rails-scenic/ – d3m0n

उत्तर

6

नहीं, इस चीजें हैं जो ActiveRecord में 'स्वच्छंद' है में से एक है। यह वास्तव में इस तरह के विचारों, विदेशी कुंजी, और कुछ अन्य के रूप में आम रिलेशनल डेटाबेस सुविधाओं के बारे में ज्यादा परवाह नहीं है।

API documentation आप के लिए उपलब्ध सार्वजनिक तरीकों में से एक सूची है।

सबसे अच्छा आप कर सकते हैं CREATE- सादे एसक्यूएल में स्टेटमेंट, और ActiveRecord::Base.connection.execute का उपयोग करें।

2

ऐसा करने के लिए schema_plus मणि का उपयोग कर सकते हैं!

https://github.com/SchemaPlus/schema_plus

यह वास्तव में जवाहरात के एक समूह है, लेकिन यह एक है कि विचारों से संबंधित है।

यह एक create_view विधि है कि आप अपने माइग्रेशन को जोड़ सकते हैं और यह आपके schema.rb फ़ाइल में दृश्य डंप हो जाएगा इतना है कि यह निर्मित हो जाता है यदि आप ऐसा प्रदान करता है rake db:schema:load

अधिक यहाँ जानकारी: https://github.com/SchemaPlus/schema_plus_views#user-content-creating-views

3

यदि आप पोस्टग्रेज़ का उपयोग कर रहे हैं, तो आप अपने रेल आवेदन में डेटाबेस दृश्यों को प्रबंधित करने के लिए Scenic का उपयोग कर सकते हैं। स्कीमा प्लस की तरह, सीनिक आपको create_view देगा। स्कीमा प्लस के विपरीत, दर्शनीय भौतिक दृश्यों के समर्थन के साथ दृश्य के संस्करणों के प्रबंधन पर थोड़ा अधिक मार्गदर्शन प्रदान करेगा।

आप MySQL उपयोग कर रहे हैं वहाँ, तीसरे दल के mysql एडेप्टर दर्शनीय साथ उपयोग के लिए उपलब्ध हैं, हालांकि मैं उन्हें व्यक्तिगत रूप से उपयोग नहीं किया है।

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