2016-09-17 91 views
0

有沒有辦法知道用戶何時更新表列?例如,用戶在什麼時候改變他們的姓氏?當上一個表列被修改時

對最後一張桌子更新不感興趣時​​,只有列。是否有可能使用Rails 5和PostgreSQL?

回答

1

如果您在模型中包含時間戳(.created_at.updated_at),那麼.updated_at會告訴您上一次更新記錄(即數據庫行)的時間。

但是,這不會告訴你記錄的哪個屬性發生了變化(即哪個數據庫列)。它也不會告訴你哪個用戶改變了它,或者它是否被系統中的某些東西自動改變了,等等。

+0

我已經update_at等在我的桌子上。我需要知道屬性最後更新的時間。我真的認爲這是可能的。 Ex(不可能,我知道):'User.first.last_name.updated_at' – Sylar

+1

不,你需要使用papertrail gem或類似的粒度級別。 –

+0

好東西。我會檢查一下。謝謝。 – Sylar

0

你需要模式來做到這一點。您可以創建一個名爲user_logs的新表,並實現一個存儲old_record和new_record的觸發器。這將幫助您獲得所需的更改日誌。

相關問題