尋找模塊和文檔來了解如何將XML文檔導入到rails中。如何輕鬆地將XML導入到rails(activerecord)數據庫
我希望能夠.do.is有一個持久的目錄有xml.files放入。文件將是相同的xml結構。我想要將文件輕鬆或自動更新到數據庫中。
我可以使用activercord在軌道上使用紅寶石嗎?
尋找模塊和文檔來了解如何將XML文檔導入到rails中。如何輕鬆地將XML導入到rails(activerecord)數據庫
我希望能夠.do.is有一個持久的目錄有xml.files放入。文件將是相同的xml結構。我想要將文件輕鬆或自動更新到數據庫中。
我可以使用activercord在軌道上使用紅寶石嗎?
1.當/如何執行過程:
Rake任務是同步的文件與DB和退出
創建,通過你的執着目錄掃描和更新數據庫rake任務。 rake任務可以手動執行,也可以作爲cron作業添加到系統中。您可以通過使用task :sync => :environment do
聲明任務來加載導軌環境。
Rake任務是保持運行 你可以使用寶石如listen檢測文件更改此目錄中,並同步到DB。或者你的耙子任務可能會在內部睡幾分鐘。您也可以通過創建upstart job將此任務設爲系統服務。
後臺作業庫
使用作業庫如resque與resque-scheduler。
2.
我建議rake任務/後臺作業代碼結構僅作爲一種機制,以揭開序幕的同步過程。你的實際同步邏輯/代碼應該仍然在普通的ruby類/模塊中。
3.如何執行XML - >數據庫同步
如果你能決定了XML的樣子,我建議使用ActiveRecord to_xml和from_xml導出/創建/更新或看看他們做什麼內部(屬性=方法)。
如果您不能指定格式,請使用this post中提到的nokogiri或xmlsimple來解析xml文件。然後使用正常的活動記錄查詢/創建/更新方法來更新數據庫。使用activerecord驗證來確保數據在數據庫中始終保持一致。如果您想確保沒有人可以將無效數據與其他數據庫連接器(非活動記錄)插入,則可以使用database indexes。
您會在這裏找到答案:http://stackoverflow.com/questions/11369911/importing-an-xml-document-into-a-rails-database –
@TomHert謝謝我已經看到它顯示的基本信息與Nokogiri一起工作,但沒有任何信息管理或插入到軌道模型一貫這是我的問題正在尋找。 – sayth