это база биллинга со всеми вытекающими, разработчики биллинга отказались от реализации задачи. Доступа к БД пока у меня пока нет. Посмотреть есть ли у каждой строчки во всех таблицах поле CHANGE DATE или что то подобное не могу
в случае если таких полей в строках с данными нет, какие вообще подходы могут быть?
у меня пока два варианта
1. Настроить слейв mysql и работать с ним. Перед снятием копий таблиц лочить БД слейва. выгружаю все данные. разлачиваю слейв. и дальше уже по ID ключу и по всем полям сравниваю изменения с предыдущей копией - тем самым получу изменения
2. Для каждой таблицы (нужной) БД, настроиваю триггер - пишу в лог таблицы данные с временными метками и ключами изменившихся записей. И далее по меткам можно выгружать данные для сравнения.
какой способ оптимальнее и какие подводные камни могут быть. у первого я понимаю - что это второй сервер или виртуалка.
Какие ваши рассуждения и доводы могут быть?
PS
но вопрос меня мучает
допустим через интерфейс биллинга вносятся изменения и далее эти изменения могут вноситься в несколько таблиц или даже при изменении таблиц запустится хранимая процедура и будет переколбашивать данные в таблицах - по сути это одна транзацкция. и начало транзакции может случиться в конце текущего часа, конец транзакции случиться допустим через 10 минут после начала следующего часа. т.е. нарушается целостность и как быть в такой ситуации? забить на это обстоятельство?