у нас был проект, в котором мы должны были получить подробную аудиторскую информацию о том, что было изменено, когда и кем.
в нашем случае мы усовершенствовали наше решение MVC, чтобы сохранить контрольный журнал, когда все изменилось. в этой ситуации мы могли хранить вспомогательную информацию, такую как веб-пользователь, IP-адрес и т. д.
Кроме того, мы включили бинарное ведение журнала mysql, поэтому при необходимости мы можем откатить всю историю и предоставить дополнительные журналы, хранящиеся о доступах, чтобы определить источник изменений.
в вашем случае было бы несколько хитрее, если у вас нет какого-либо слоя между базой данных и фактическим доступом к базе данных. Итак, я бы предложил создать API для операций с данными, который работал бы в качестве промежуточного уровня и дал бы вам весь контроль, который вы ищете.
это должно дать вам указания, с чего начать.