Всем привет,
Я аудитор на сайте с движком Discourse. Один из участников удалил около 1300 сообщений. Система автоматически перемещает ответы на это сообщение в конец темы. Есть ли у нас возможность пакетного восстановления?
Всем привет,
Я аудитор на сайте с движком Discourse. Один из участников удалил около 1300 сообщений. Система автоматически перемещает ответы на это сообщение в конец темы. Есть ли у нас возможность пакетного восстановления?
Если вы используете собственный хостинг, это можно сделать через консоль Rails. Если вы используете хостинг-провайдера, обратитесь в службу поддержки.
Возможно, там есть некоторые подсказки в разделе Административные массовые операции.
Что-то вроде:
t=Topic.all.with_deleted.where("deleted_at is not null").where(user_id: 123)
t.update_all(deleted_at: nil, deleted_by_id: nil)
Но, думаю, после этого вам потребуется выполнить ещё что-то для обновления других таблиц.
Можете подробно описать, как именно они это сделали? В стандартной установке Discourse обычный пользователь ограничен в количестве удаляемых сообщений, а удаления вступают в силу только через 24 часа.
Думаю, он удалял по пять постов каждый день.
Понятно. Это мягкие удаления, поэтому вы можете отменить их либо через интерфейс, либо в командной строке, если подключитесь к серверу по SSH.
Вы можете уменьшить лимит разрешённых удалений в день в настройках административного сайта, чтобы предотвратить подобное в будущем; ведутся обсуждения о возможности установки нуля в этом параметре, что полностью запретит любые удаления.
Можете ли вы убедиться, что настройка со значением ноль будет поддерживаться на следующей неделе, @sam? И обновите текст вокруг этой настройки, чтобы люди знали о её существовании.
Выполнено через:
Установка значения 0 для параметра max_post_deletions_per_minute или max_post_deletions_per_day отключит возможность самостоятельного удаления сообщений.