20.10.2011, 16:29 | #1 |
Участник
|
Создание снимков изменений в базе данных
Привет всем!
Предлагаю вам попробовать утилиту, которая позволяет просмотреть историю изменений базы данных между двумя заданными промежутками времени. Прилагаются проекты для AX2009 и для AX3.0. Например, вы разнесли накладную, и вам интересно посмотреть, в какие таблицы записались данные, методы каких классов вызывались при изменении той или иной таблицы в базе. Утилита реализована в виде, похожем на стандартную форму "Администрирование - Запросы - Журнал базы данных". Используется стандартный функционал журнала базы данных. Основные отличия от стандартного журнала базы данных: 1) Видно все изменения в базе, которые произошли при разноске накладной (или журнала), либо при создании нового клиента и так далее. 2) Видно стек вызовов методов на Х++ 3) Можно создавать множество снимков журнала базы данных. Каждый из снимков имеет свое название. Снимки можно именовать, к примеру, так "Разноска накладной по заказу ХХХХ", "Разноска складского журнала YYYY" и так далее. В принципе, похожего результата можно добиться и при стандартном использовании мониторинга запросов SQL для пользователя. Но данная утилита предоставляет возможность просмотреть сразу все изменения в одном месте, в сжатом виде и с максимальным количеством информации. Средства просмотра изменений практически все взяты из формы журнала базы данных. Инструкция по использованию: 1) Накатите проект на тестовую базу (из стандартных объектов изменяется только таблица SysDatabaseLog 2) Выполните пункт меню "Начать формирование снимка изменений данных" 3) В открывшемся диалоговом окне введите название снимка (можно оставить предлагаемое по умолчанию название). Нажмите кнопку Ок. 4) Разнесите какой-нибудь журнал, накладную, введите новую номенклатуру в справочник и т.д. 5) Выполните пункт меню "Завершить формирование снимка изменений данных" 6) Выполнте пункт меню "Снимки изменений в базе данных". 7) В открывшейся форме можно пользоваться всеми фукнциями просмотра журнала базы данных, просматривать стек вызова для каждого изменения, во вкладке "История" видеть старые и новые значения полей. 8) В раскрывающемся списке "Название снимка" можно выбирать другие снимки для просмотра. По умолчанию форма открывается с последним сделанным снимком. 9) Сохраненные снимки можно редактировать через кнопку "Список снимков", расположенную рядом с раскрывающимся списком "Название снимка". Особенности работы утилиты: 1) Изменения в снимке сохраняются только для того пользователя, который начал формирование снимка. Просматривать снимок могут все пользователи, у которых есть права доступа. 2) Можно оставить снимок незавершенным на долгое время - тогда туда попадут все изменения, сделанные данным пользователем. 3) Данные в снимке можно просматривать только после завершения (через пункт меню "Завершить формирование снимка изменений данных") 4) Не рекомендуется настраивать журнал базы данных, если в текущий момент не завершен снимок, иначе при завершении снимка все изменения в настройках журнала базы данных потеряются. В любое другое время можно настраивать журнал базы данных без ограничений. Примечание: на разработку с нуля данной утилиты у меня ушло примерно 4 часа. Идея о ее создании витала где-то пару месяцев. Последний раз редактировалось Ace of Database; 20.10.2011 в 17:46. |
|
|
За это сообщение автора поблагодарили: slava (1), Logger (5), Poleax (5), Atar (2), ice (1), someOne (2). |