У меня есть проект Spring Services, использующий MyBatis и Liquibase.Я создал таблицу аудита, в которой есть триггеры для INSERT / UPDATE / DELETE.
С помощью INSERT / UPDATE я уже храню идентификатор пользователя, поэтому выполнять NEW.USER_ID не проблема, но с помощью DELETE Iиметь только OLD.USER_ID, который явно не отражает текущего пользователя, вносящего изменения.
За исключением некоторой информации, у меня есть это в liquibase (обозначение * s, что должно измениться):
<sql endDelimiter="|">
CREATE TRIGGER DELETE_TRIGGER
AFTER DELETE
ON TABLE_NAME
FOR EACH ROW
BEGIN
INSERT INTO TABLE_NAME_A (CHANGE_TYPE, CHANGE_ID, CHANGE_DATE)
VALUES ('DELETE', **OLD.USER_ID**, now());
END;
|
</sql>
Так что я не уверен, что заменить OLD.UPDATE_ID.Другие примеры, которые я обнаружил, часто связаны с серверами sql и mssql.Так что, может быть, я просто потерпел неудачу при поиске, так как не смог найти что-то, что могло бы работать внутри spring / mybatis / liquibase / mysql.