Grails: регистрация изменений данных в домене - PullRequest
0 голосов
/ 12 марта 2012

Мне нужно записать изменения данных из таблицы «документы» в другую таблицу «документы_log» с помощью Grails.Есть ли простой способ сделать это?

Я читал о ведении журнала аудита, но документация плохая, и она регистрируется в одной таблице, верно?

Есть предложения?

Ответы [ 2 ]

1 голос
/ 13 марта 2012

Вы также можете использовать события GORM:

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

и реализовать именно то, что вам нужно.

1 голос
/ 12 марта 2012

Плагин Audit Logging записывает все изменения в проверяемые классы домена в таблицу с именем AUDIT_LOG. Если ваш домен DOCUMENTS является единственным подлежащим проверке доменом, то он единственный, на котором будут записываться проверяемые события.

После установки плагина (grails install-plugin audit-logging) Вы можете сделать класс домена проверяемым, добавив этот параметр «Auditable»:

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

В соответствии с этим, возможность изменить имя таблицы аудита через конфигурацию еще не реализована: http://jira.grails.org/browse/GPAUDITLOGGING-30

Если вы непреклонны в отношении регистрации изменений в домене DOCUMENTS в таблице с именем DOCUMENTS_LOG, вы можете создать синоним в своей базе данных для достижения этой цели. Или, если вам просто нужно, чтобы DOCUMENTS_LOG был читабельным, создайте представление DOCUMENTS_LOG для AUDIT_LOG.

Кроме того, я не уверен, что вы подразумеваете под "... он входит в ту же таблицу".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...