Grails:记录域数据更改

时间:2012-03-12 16:29:13

标签: grails grails-domain-class

我需要使用Grails将数据更改从表“documents”记录到另一个表“documents_log”中。 有一个简单的方法吗?

我读到了有关审核日志记录的信息,但是文档很差,并且它记录在同一个表中,对吧?

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

Audit Logging插件将可审计域类的所有更改记录到名为AUDIT_LOG的表中。如果您的DOCUMENTS域是唯一可审核的域,则它是唯一一个可以记录可审核事件的域。

安装插件(grails install-plugin audit-logging)后,您可以通过添加此“可审核”设置来使域类可审核:

class Documents {
    static auditable = true
    Long id
 ...

根据这一点,还没有通过配置更改审计表名称的能力: http://jira.grails.org/browse/GPAUDITLOGGING-30

如果您坚持要在名为DOCUMENTS_LOG的表中记录对DOCUMENTS域的更改,则可以在数据库中创建一个同义词来实现该目的。或者,如果您只需要DOCUMENTS_LOG可读,请针对AUDIT_LOG创建DOCUMENTS_LOG视图。

除此之外,我不确定你的意思是“......它登录同一张桌子。”

答案 1 :(得分:1)

您也可以使用GORM活动:

http://grails.org/doc/latest/guide/GORM.html#eventsAutoTimestamping

并准确实施您的需求。