1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ghsea-dbtracer

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 2.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 03:20 a5635b3

Рассмотрим следующие сценарии:

  • В фоновой бизнес-системе, когда несколько человек используют одни и те же функции, возможно, кто-то ошибочно изменил некоторые данные. Необходимо отследить, кто изменил данные.

  • Требуется просмотреть всю историю изменений данных.

Для решения этой проблемы обычно для каждой таблицы создают новую таблицу Log, в которой с помощью триггера или бизнес-кода записываются две записи до и после изменения данных, а затем эти две записи объединяются в одну контрольную запись.

Dbtracer — это небольшой инструмент, который был разработан для автоматизации удовлетворения требований к описанным сценариям. Он создаёт записи истории изменений, подобные следующей:

Имя поля: {старое значение} → {новое значение}, например:

Обновление пользовательской таблицы: имя пользователя: {gogogo} → {comecomecome}, адрес: {Ухань} → {Шанхай}

Процесс обработки следующий:

  1. Использование механизма плагина mybatis для перехвата выполнения SQL.
  2. Использование druid для анализа перехваченного Update SQL и создания Select SQL с теми же условиями запроса для получения данных в качестве значения до изменения.
  3. Выполнение Update SQL.
  4. Анализ конфигурации XML таблицы, создание сопоставления между английскими и китайскими значениями полей. Используя параметры Update SQL в качестве нового значения и полученные значения в качестве старого значения, создаётся сопоставление между изменёнными полями до и после изменений и записывается в таблицу базы данных.

На данный момент код ещё не завершён.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/ghsea-dbtracer.git
git@api.gitlife.ru:oschina-mirror/ghsea-dbtracer.git
oschina-mirror
ghsea-dbtracer
ghsea-dbtracer
master