我有一個帶有postgres數據庫的Rails應用程序A.我也有另一個Rails應用程序B與postgres數據庫。現在我想在應用程序A中重新使用應用程序B的一些數據。導入數據的最佳方式是什麼?我假設一個rake任務可以用於這個,但你會怎麼做?從其他postgres數據庫讀取數據
您是否需要在應用程序A的database.yml中添加應用程序B數據庫的連接詳細信息?我如何才能真正獲得數據?
我有一個帶有postgres數據庫的Rails應用程序A.我也有另一個Rails應用程序B與postgres數據庫。現在我想在應用程序A中重新使用應用程序B的一些數據。導入數據的最佳方式是什麼?我假設一個rake任務可以用於這個,但你會怎麼做?從其他postgres數據庫讀取數據
您是否需要在應用程序A的database.yml中添加應用程序B數據庫的連接詳細信息?我如何才能真正獲得數據?
你可以通過ActiveRecord的手動連接
require 'active_record'
ActiveRecord::Base.establish_connection(
:adapter => "mysql",
:host => "localhost",
:username => "root",
:password => "abcd",
:database => "funonrails")
或做這樣的事情
dbconfig = YAML::load(File.open('database.yml'))
ActiveRecord::Base.establish_connection(dbconfig[:students_development])
根據你實際進口的意思是,你可以使用dblink
直接查詢其他DB:
http://postgresql.org/docs/current/static/dblink.html
當PostgreSQL的9.3得到釋放,一定也期待進入新的外國數據包裝:
你想不想讓他們同步?還是隻是批量導入的時間連接? – Doon
@Denis這是一個很好的答案。考慮像這樣發佈它。 –
這是一次性批量導入一些數據 – John