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

हेरोोकू में एक रेल 3.1 ऐप के लिए एकाधिक डेटाबेस का उपयोग कैसे करें?

पिछली प्रतिक्रियाओं से काम करना, लेकिन कॉन्फ़िगरेशन के साथ कुछ रेल 3 लाभों को शामिल करना और पार्सिंग को सरल बनाना...

# config/application.rb
module MyApp
  class Application < Rails::Application
    ... other configs

    config.secondary_database_url = ENV['SECONDARY_DB_URL']
  end
end

हम इसे विकास / परीक्षण में ओवरराइड करना चाह सकते हैं

# config/environments/development.rb

module MyApp
  class Application < Rails::Application
    ... other configs

    config.secondary_database_url = 'SOME_CONNECTION_STRING'
  end
end    

अब क्लास को सेटअप करने के लिए हमें अपने मॉडल इनहेरिट करने होंगे...

# lib/active_record/secondary.rb 
module ActiveRecord
  class Secondary < ActiveRecord::Base
    self.abstract_class = true

    # prior to AR 3.2.1
    url = URI.parse( MyApp::Application.config.secondary_database_url )
    establish_connection(
      :adapter  => 'mysql',
      :host     => url.host,
      :username => url.userinfo.split(':')[0],
      :password => url.userinfo.split(':')[1],
      :database => url.path[1..-1],
      :port     => url.port || 3306
    )

    # as of AR 3.2.1
    establish_connection(MyApp::Application.config.secondary_database_url)

  end

  class SecondaryMigration < ActiveRecord::Migration
    def connection
      ActiveRecord::Secondary.connection 
    end
  end

end


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL #1140 - ग्रुप कॉलम का मिश्रण

  2. SQL कथन Intellij और DB नेविगेटर का उपयोग करके जावा कोड में त्रुटि

  3. तैयार स्टेटमेंट के साथ चुनिंदा MySQL डालें

  4. PHP - uniqid(,true) बनाम uniqid()+mt_rand()

  5. जन्मतिथि और आयु को कैसे स्टोर करें ताकि PHP/MySQL में आयु को दैनिक रूप से अपडेट किया जा सके?