少於 1 分鐘閱讀

前言

最近可能需要串接其他系統,但該系統又沒有現成的 api,需要直接進行多個資料庫撈取與回寫時使用

方式

  1. 在 database.yml 加入其他 db 的設定

     default: &default
       adapter: postgresql
       encoding: unicode
       pool: 5
    
     development:
       <<: *default
       database: mysite_development
    
     test:
       <<: *default
       database: mysite_test
    
     production:
       <<: *default
       host: 10.0.1.55
       database: mysite_production
       username: postgres_user
       password: <%= ENV['DATABASE_PASSWORD'] %>
    
     db2_development:
       <<: *default
       database: db2_development
    
     db2_test:
       <<: *default
       database: db2_test
    
     db2_production:
       <<: *default
       host: 10.0.1.55
       database: db2_production
       username: postgres_user
       password: <%= ENV['DATABASE_PASSWORD'] %>
    
  2. 然後在 model 指定連接的 db

     class Customer < ActiveRecord::Base
       establish_connection "db2_#{Rails.env}"
     end
    

參考

  1. http://stackoverflow.com/questions/1825844/multiple-databases-in-rails

留言