2016-09-17 59 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的触发器。这将帮助您获得所需的更改日志。

相关问题