2014-05-23 89 views
0

尋找模塊和文檔來了解如何將XML文檔導入到rails中。如何輕鬆地將XML導入到rails(activerecord)數據庫

我希望能夠.do.is有一個持久的目錄有xml.files放入。文件將是相同的xml結構。我想要將文件輕鬆或自動更新到數據庫中。

我可以使用activercord在軌道上使用紅寶石嗎?

+0

您會在這裏找到答案:http://stackoverflow.com/questions/11369911/importing-an-xml-document-into-a-rails-database –

+0

@TomHert謝謝我已經看到它顯示的基本信息與Nokogiri一起工作,但沒有任何信息管理或插入到軌道模型一貫這是我的問題正在尋找。 – sayth

回答

2

1.當/如何執行過程:

Rake任務是同步的文件與DB和退出

創建,通過你的執着目錄掃描和更新數據庫rake任務。 rake任務可以手動執行,也可以作爲cron作業添加到系統中。您可以通過使用task :sync => :environment do聲明任務來加載導軌環境。

Rake任務是保持運行 你可以使用寶石如listen檢測文件更改此目錄中,並同步到DB。或者你的耙子任務可能會在內部睡幾分鐘。您也可以通過創建upstart job將此任務設爲系統服務。

後臺作業庫

使用作業庫如resqueresque-scheduler

2.

我建議rake任務/後臺作業代碼結構僅作爲一種機制,以揭開序幕的同步過程。你的實際同步邏輯/代碼應該仍然在普通的ruby類/模塊中。

3.如何執行XML - >數據庫同步

如果你能決定了XML的樣子,我建議使用ActiveRecord to_xmlfrom_xml導出/創建/更新或看看他們做什麼內部(屬性=方法)。

如果您不能指定格式,請使用this post中提到的nokogiri或xmlsimple來解析xml文件。然後使用正常的活動記錄查詢/創建/更新方法來更新數據庫。使用activerecord驗證來確保數據在數據庫中始終保持一致。如果您想確保沒有人可以將無效數據與其他數據庫連接器(非活動記錄)插入,則可以使用database indexes

相關問題