Вы можете сделать это через консоль Rails, но это также опасно. Так что, если я не ошибаюсь, это будет выглядеть так:
cd /var/discourse
sudo ./launcher enter app
rails c
Теперь вы в консоли. Один из способов удалить всю историю действий сотрудников/администраторов — использовать этот метод:
Однако это удаляет всё, что может быть не тем, что вы хотели. Возможно, вы захотите ограничить период времени или изучить определённые действия.
Например:
UserHistory.where(action: 17, acting_user_id: 5)
Это вернёт все сообщения, удалённые пользователем с идентификатором 5.
Или:
UserHistory.where(action: 17, post_id: 15643)
Это вернёт информацию о том, кто удалил сообщение с идентификатором 15643.
Список полей таблиц и идентификаторов действий см. в этом файле:
# == Schema Information
#
# Table name: user_histories
#
# id :integer not null, primary key
# action :integer not null
# acting_user_id :integer
# target_user_id :integer
# details :text
# created_at :datetime not null
# updated_at :datetime not null
# context :string
# ip_address :string
# email :string
# subject :text
# previous_value :text
# new_value :text
# topic_id :integer
# admin_only :boolean default(FALSE)
# post_id :integer
# custom_type :string
# category_id :integer
#
# Indexes
#
# index_user_histories_on_acting_user_id_and_action_and_id (acting_user_id,action,id)
# index_user_histories_on_action_and_id (action,id)
# index_user_histories_on_category_id (category_id)
# index_user_histories_on_subject_and_id (subject,id)
# index_user_histories_on_target_user_id_and_id (target_user_id,id)
# index_user_histories_on_topic_id_and_target_user_id_and_action (topic_id,target_user_id,action)
#