2015-10-14 79 views
0

這裏我遇到了這個問題。從不同主機將數據從Postgresql傳輸到Mysql(從RoR數據庫到Wordpress數據庫)

在這裏,我們有一個用RoR編寫的完整系統的主機,其中有大量的用戶數據進入Postgresql數據庫。

然後,在一個單獨的本地主機中,我們有一個運行某些應用程序並使用buddypress插件(允許自定義字段)的wordpress頁面,當然還使用MySQL數據庫。

我需要什麼是:將用戶數據從Postgresql數據庫傳輸到MySQL數據庫。我知道可以通過在數據庫中插入數據來在Wordpress中創建用戶,但我需要查詢從第一個數據庫傳輸相同的用戶數據。

我一直在用cronjob與思考。 (只是當他們是兩個不同的主機並且必須使用mysql_connect和pg_connect時,不確定如何執行查詢)。

我在postgresql中用我需要遷移的數據創建了一個視圖。

我也被建議嘗試「Navicat」,但不確定它是否可以做我確切需要做的事情。

會走什麼路?謝謝。

回答

0

,如果你能同時訪問數據庫,你可以寫兩個類,一個來自mysql衍生和其他從postgres

例:

#config/database.yml 
development: &DEV 
    adapter: postgresql 
    host: localhost 
    database: postgresql_db 
    username: 
    password: 

wordpress: &WORDPRESS 
    adapter: mysql2 
    host: localhost 
    username: 
    password: 
    database: wordpress 
wordpress_development: 
    <<: *DEV 

,你可能必須爲WordPress

一個基類
class WordpressBase < ActiveRecord::Base 
    WordpressRecord.establish_connection({ 
    adapter: "mysql2", 
    host:  ENV['MYSQL_HOST'], 
    username: ENV['MYSQL_USER'], 
    password: ENV['MYSQL_PASS'], 
    database: ENV['MYSQL_DB'] 
    }) 

    self.abstract_class = true 
end 

現在您可以使用正常的活動記錄來遷移數據

例如:

class A < ActiveRecord::Base 
    # connects to your postgres 
end 

class B < WordpressBase 
    # connects to your mysql 
end 
相關問題