2014-05-14 139 views
0

觉得,我有一个小问题,麻烦的:轨道4

我有我的轨道上的服务器应用程序,比方说,名称的,我用那里的所有表(假设表1,表2 )....但是现在我需要再购买一台服务器,名称为B.并且从那里我也必须使用一些表格(比如说table3,table4)。

是不是真的要在rails中使用两个不同的db,来自不同的服务器?以及如何做到这一点?写什么比在ActiveModel文件?

现在我简单地有一个数据库database.yml。如我所说,如何设置一些编辑?

+0

这是redmine吗? –

+0

@AnthonyHorne不,这是自己的项目 – brabertaser19

+0

Rails不支持使用不同的数据库。我建议去一个数据库级解决方案:使用MySQL,你可以看看[联合存储引擎](http://dev.mysql.com/doc/refman/5.5/en/federated-storage-engine.html)。如果你迁移到PostgreSQL,你可以使用[PG的外部数据包装](http://www.postgresql.org/docs/9.3/static/postgres-fdw.html) – mdesantis

回答

0

有可能

在数据库阳明:

development: 
    adapter: mysql2 
    encoding: utf8 
    reconnect: false 
    database: app_development 
    pool: 5 
    username: root 
    password: 
    host: localhost 


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

您所有的型号将使用 '发展' 的数据库。如果你想让他们中的一个使用'aux_development'只是:

class OtherModel < ActiveRecord::Base 
    establish_connection "aux_#{Rails.env}" 
end 
+0

也请给点建议:如何取决于加载速度? – brabertaser19

+0

那么速度怎么样?\ – brabertaser19

+0

对于延迟感到抱歉。我还没有发现任何速度问题。你的应用程序会打开两个不同的连接,所以它不会关闭另一个连接 – rhernando