2014-05-14 202 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