2012-10-02 38 views
1

在我的Rails应用程序中,我需要在应用程序中使用多个分区。但是我怎么能告诉rails,这张表必须来自这个db,另一个来自另一个db。我正在使用mysql。 现在的配置是这样的:Rails使用多个分区

development: 
    adapter: mysql2 
    encoding: utf8 
    reconnect: false 
    database: Mycorp_development 
    pool: 5 
    username: root 
    password: root 
    socket: /var/run/mysqld/mysqld.sock 

和模型中的一个(我知道这是不是在Rails的方式,但DB是非我)

class Article < ActiveRecord::Base 
    attr_accessible :ART_ID, :ART_ARTICLE_NR, :ART_SUP_ID, :ART_DES_ID, :ART_COMPLETE_DES_ID, :ART_CTM, :ART_PACK_SELFSERVICE, :ART_MATERIAL_MARK, :ART_REPLACEMENT, :ART_ACCESSORY, :ART_BATCH_SIZE1, :ART_BATCH_SIZE2, :QUANTITYM, :PRICEM 
    set_table_name "ARTICLES" 
    set_primary_key :ART_ID 
end 
+2

可能的重复[我如何在两个不同的数据库中工作与活动记录?](http://stackoverflow.com/questions/1226182/how-do-i-work-with-two-different-databases-in-rails-with-active-records) – mikej

+0

你可以参考http: //paramitech.com/2009/08/rails-application-with-multiple-database/ – Amar

回答

1

的ActiveRecord尚未到发与两个不同的数据库通信。

当然https://github.com/cherring/connection_ninja似乎提供了一个解决方法,我没有测试过,但我非常小心使用它。

你把自己置于一个没有被开发人员计划的情况下,这意味着你可能会碰壁并且不得不深入到AR内部以了解发生了什么。

鉴于你真的需要处理两个数据库,我强烈建议考虑这两种替代品都支持多个数据库开箱:

他们与Rails 3很好地工作。

+0

我知道它),但为了开发必须连接到其他数据库,因为我的驱动器现在我没有太多的可用空间:所以我需要从另一个项目中获得一些元素 – byCoder

+0

如果您不混合这些记录,那么使用该解决方法之前不应该有太多问题。 :) – jhchabran