1

Тема: Не определяет изменения в таблицах БД

Здравствуйте.

Вопрос по сканированию Баз Данных.

У меня САНТИ не реагирует на изменение / добавление / удаление строк в таблицах в БД. Реагирует только на создание или удаление самих таблиц. Версия программы 7 (скачивал 21.01.2017)

Подскажите, я что-то не настроил, или этого пока нет в функционале?

PS. При введении неправильных параметров доступа к БД программа ни как не сообщает, что имеет проблемы с подключением.

Re: Не определяет изменения в таблицах БД

Давайте вместе посмотрим, пишите на migan@bk.ru

Ma98Thor пишет:

Здравствуйте.

Вопрос по сканированию Баз Данных.

У меня САНТИ не реагирует на изменение / добавление / удаление строк в таблицах в БД. Реагирует только на создание или удаление самих таблиц. Версия программы 7 (скачивал 21.01.2017)

Подскажите, я что-то не настроил, или этого пока нет в функционале?

PS. При введении неправильных параметров доступа к БД программа ни как не сообщает, что имеет проблемы с подключением.

3

Re: Не определяет изменения в таблицах БД

Вот что мне удалось выяснить:

САНТИ обращается к БД и вытаскивает список таблиц и для каждой таблицы количество записей (Rows) и дату последнего редактирования (Update_time).

И тут начинаются нюансы. Для таблиц с типом MyISAM все хорошо. Все данные прекрасно считываются.

Но для таблиц с типом InnoDB дата редактирования таблицы отсутствует. То есть $row['Update_time']  прилетает пустым. Как я понял данные неприятный момент связан с архитектурой InnoDB.
На различных форумах посвященных MySql мне не удалось найти решение, хотя видел несколько топиков с данной проблемой.

Решения данной проблемы я вижу следующее:

- меняем тип таблиц на MyISAM (для кого непринципиально на чем сидеть)

- в скрипте делаем проверку если нет Update_time, то ориентируемся только на количество строк таблицы. В этом случае не удастся отловить редактирование строки, но добавление или удаление вполне удастся (хотя не всегда корректно если одинаковое количество строк будет добавлено и уделено).

Оба варианта имеют серьезные минусы, он чем-то придется жертвовать.