Diff будет невероятной простыней, в которой будет асболюбтно непонятно, какой компонент системы каким образом изменил данные. Снимать дамп надо вручную, ковырять diff надо вручную, обе эти операции чрезвычайно затратные как по ресурсам сервера, так и по человеческим и нет никакого смысла так поступать, когда есть другие способы для решения вопроса.
Кстати чем вам так Diff не угодил?
Diff будет невероятной простыней, в которой будет асболюбтно непонятно, какой компонент системы каким образом изменил данные. Снимать дамп надо вручную, ковырять diff надо вручную, обе эти операции чрезвычайно затратные как по ресурсам сервера, так и по человеческим и нет никакого смысла так поступать, когда есть другие способы для решения вопроса.
А ваш код даст портянку непонятного jsona, в котором еще и разобраться нужно.
Если уж поперли на рожон, приведите пример кода, в котором триггер логгирует какие то события без знания структуры БД .
CREATE TABLE `dblog` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`created` DATETIME NOT NULL,
`action` ENUM('insert','update','delete'),
`new_value` JSON,
`old_value` JSON,
`description` TEXT,
PRIMARY KEY (`id`)
);
SELECT
CONCAT(
'DELIMITER $$\n',
'DROP TRIGGER IF EXISTS `log_insert_', `COLUMNS`.`TABLE_NAME`, '`$$\n',
'CREATE TRIGGER `log_insert_', `COLUMNS`.`TABLE_NAME`, '` AFTER INSERT ON `', `COLUMNS`.`TABLE_NAME`, '`\n',
'FOR EACH ROW BEGIN\n',
'INSERT INTO `dblog` VALUES (\n',
'NULL,\n',
'NOW(),\n',
'\'insert\',\n',
'JSON_OBJECT(\n',
GROUP_CONCAT(CONCAT('\'', COLUMN_NAME, '\', NEW.`', COLUMN_NAME, '`') SEPARATOR ',\n'),
'),\n',
'NULL,\n',
'\'New row inserted\'',
');'
'END$$\n',
'DELIMITER ;\n'
) AS 'trigger'
FROM
`information_schema`.`COLUMNS`
WHERE 1
AND `TABLE_SCHEMA`='my_wp'
AND `TABLE_NAME` != 'dblog'
GROUP BY
`TABLE_NAME`
И откуда вы узнаете что эта таблица создана?
Почему вы думаете что запись происходит именно туда, а не в таблицу WP_Some_Table_OF_Developer_Left_Leg
И почему вы предлагаете проводить это на боевом сервере, а не на дампе в лабораторных условиях?
Как по мне триггер вообще ни о чем в данном случае. Он сработает на событие, которое нужно еще и узнать.
Аяксом получаем с клиента сообщение, центрифугой отправляем оповещение по вебсокетам
отправляем оповещение по вебсокетам о том, что юзеру пришло новое сообщение
помочь ≠ кинуть ссылку из гугла