2013-08-16 44 views
0

當我想從文本文件讀取數據並更新數據庫時,常用的方法是什麼。Rails更新數據庫方法

首先,我檢查記錄是否存在使用一個獨特的屬性(假設'標題'),如果不行,我只是創建它。但是,如果它存在並且其中一個或多個屬性被更新了,那麼我會檢查它的所有屬性,並將舊的屬性與新的屬性進行比較?有沒有更便宜的方法來做到這一點?

回答

0
  1. 爲Uniq字段
  2. 你並不需要經過所有的屬性,與record.changed任何回報檢查添加索引[如果沒有改變,它將返回空數組。如果沒有,那麼不要更新,否則更新你的記錄。

更先進:插入到文本文件的另一個字段從記錄updated_at值,如果該值改變下一次您更新數據庫,然後更新您的記錄。這肯定會更快:)

0

是的,你不必擔心重複或更新,如果你確信你正在閱讀的文件中的數據是最新的,那麼只需聲明該字段在數據庫中是唯一的並插入所有新記錄。對於重複數據庫,DB會拋出一個異常,您可以通過刪除該記錄並再次插入新值來處理該異常。對於那些少數情況,插入和刪除顯然會比較便宜,然後檢查所有列,並且還需要更多的努力。