Иногда у клиентов возникает необходимость очистить историю чатов на портале.
Чаты относятся к модулю сообщений im и хранятся в базе данных в таблицах с префиксом b_im_.
В этих таблицах содержатся:
Для очистки истории сообщений достаточно удалить данные из таблицы b_im_message.
В этих таблицах содержатся:
- сами сообщения,
- данные по групповым чатам,
- счетчики сообщений и отметки о непрочитанных,
- оформление системных сообщений,
- связи с открытыми линиями и др.
Для очистки истории сообщений достаточно удалить данные из таблицы b_im_message.
Шаг 1. Создаем резервную копию таблицы
Перед любыми действиями обязательно делаем бэкап:
CREATE TABLE b_im_message_backup AS SELECT * FROM b_im_message;
CREATE TABLE b_im_message_backup AS SELECT * FROM b_im_message;
Шаг 2. Очистка истории
Полная очистка таблицы:
TRUNCATE TABLE b_im_message;
Очистка по условию, например — только для конкретного чата:
DELETE FROM b_im_message
WHERE CHAT_ID = [ID_чата];
TRUNCATE TABLE b_im_message;
Очистка по условию, например — только для конкретного чата:
DELETE FROM b_im_message
WHERE CHAT_ID = [ID_чата];
Примечания
- Время очистки зависит от объема данных, обычно занимает не более минуты.
- После операции могут остаться артефакты, например, некорректные счетчики непрочитанных сообщений, но на общую работоспособность портала это не влияет.
- Рекомендуется заранее протестировать процесс на тестовом стенде или на копии таблицы.
Важно: Выполнять подобные операции стоит только при наличии прав администратора и с пониманием последствий.