Как правильно реализовать реагирование на изменение записи в таблице БД?
Добрый день!
Есть необходимость реагировать на изменение содержимого полей некоторых записей в базе данных.
Например, пользователь вошел на сайт и поменял в своих настройках e-mail.
Мне нужно чтобы при этом отправлялось уведомление администратору.
Сходу на ум приходит вариант wrapper-а вокруг методов, через которые происходит изменение данных.
Наверное, для подобного можно использовать и триггеры БД. Однако не хотелось бы привязываться к конкретной БД.
Посоветуйте, пожалуйста, как правильно реализовать подобное реагирование?
Самая "конечная" точка - триггеры. То есть например в момент реально финализировавшейся транзакции. Но от триггера "прогнать наверх" это событие - сильно зависит от архитектуры взаимодействия. Если есть некая таблица в БД, реализующая очередь уведомлений - то тогда можно триггером добавлять в нее это самое событие изменения... ну а дальше когда-то это уведомление будет вынуто из очереди и отправлено.
да, для меня это решение будет неудобно тем, что есть четкая привязка к конкретной СУБД. Но вообще, как мне кажется, задумка интересная с той точки зрения, что задача перекладывается частично на саму СУБД, т.е. сама СУБД мне формирует лог событий.