Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

किसी भिन्न डेटाबेस और तालिका के लिए एक बार की क्वेरी बनाएं

यह मानते हुए कि यह समान डेटाबेस क्रेडेंशियल्स और उसी MySQL सर्वर पर पहुंच योग्य है, सबसे आसान तरीका यह होगा कि FROM में डेटाबेस और तालिका को निर्दिष्ट करने वाली क्वेरी को चलाया जाए। क्वेरी का खंड, जैसे:

ActiveRecord::Base.connection.select_one(
    "SELECT * FROM blog_database.posts ORDER BY created_at DESC LIMIT 1")

select_one मानों के लिए कॉलम का हैश लौटाएगा। विधियों के बारे में अधिक जानकारी के लिए आप connection . पर उपयोग कर सकते हैं ऑब्जेक्ट, देखें यह दस्तावेज़

दूसरा विकल्प है ActiveRecord का उपवर्ग बनाना और establish_connection . पर कॉल करना :

class Blog < ActiveRecord::Base
  establish_connection :blog

  def self.most_recent_post
    connection.select_one("SELECT * FROM posts ...")
  end
end

आपको एक blog भी बनाना होगा आपके database.yml . में डेटाबेस प्रविष्टि फ़ाइल। देखें install_connection अधिक विवरण के लिए, हालांकि दुर्भाग्य से इस तरह से इसका उपयोग करना वास्तव में केवल establish_connection के स्रोत कोड को देखकर ही जाना जाता है। ।

फिर आप प्रश्नों में ब्लॉग डेटाबेस कनेक्शन का उपयोग कर सकते हैं, जैसे:

Blog.connection.select_one("SELECT * FROM posts ...")

इसे इस तरह से करने में क्या अच्छा है कि अब आपके पास डेटा लाने के लिए एक विधि (ब्लॉग क्लास में, क्लास मेथड के रूप में) को परिभाषित करने के लिए एक अच्छी जगह है, जैसा कि मैंने ऊपर किया है।

इन दोनों रणनीतियों को रेल 2.x या 3.x के साथ ठीक काम करना चाहिए।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कैसे जांचें कि दिया गया डेटा एकाधिक तालिकाओं में मौजूद है (जिनमें से सभी में एक ही कॉलम है)?

  2. MySQL में डेटाटाइम में सेकंड जोड़ना

  3. मैं mysql के माध्यम से तालिका में सबसे लोकप्रिय शब्द कैसे प्राप्त कर सकता हूं?

  4. PolyScale.ai - ग्लोबल कैशिंग के साथ MySQL और PostgreSQL को स्केल करना

  5. पिछले ड्रॉपडाउन ऑनचेंज इवेंट के साथ अगला ड्रॉपडाउन मान बदलना