2015-07-06 2 views
3

У нас есть приложение, которое уже находится в производстве, и оно использует Envers для проведения аудита.nhibernate envers: аудит организации, уже находящейся в производстве

Теперь мы опубликуем обновление, в котором мы проводим аудит нового типа сущности. Однако этот объект уже существует в производственной среде, но пока он не был проверен.

Мы попытались в тестовой среде, содержащей записи существования, и она сбрасывается при сохранении, потому что Envers не может найти предыдущую ревизию для сохраняемого объекта.

Каков подход к решению этой проблемы?

Было бы здорово, если бы можно было указать дату, с которой объект должен быть проверен.

+0

Вы используете стратегию аудита достоверности? –

+0

Да, мы используем эту стратегию. – Sam

+1

Если я правильно помню, как в прошлый раз, когда я использовал Envers в 2012 году, стратегия проверки достоверности генерирует исключение, но стратегия по умолчанию - нет. Я думаю, вам может понадобиться вручную вставить данные в соответствующую таблицу аудита для того, чтобы сущность предоставила Envers начальную версию для работы на основе того, что делает стратегия аудита достоверности, как описано здесь - http://envers.bitbucket.org/ –

ответ

4

Для этого вы должны написать сценарий. Не должно быть так сложно, просто создайте одну строку в своей таблице ревизий и напишите «вставить записи аудита» для этой ревизии для всех ваших проверяемых объектов.

+0

спасибо, мы закончили это. – Sam

Смежные вопросы