You could do it using the rails console but it’s also dangerous. So if I’m correct it would like
cd /var/discourse
sudo ./launcher enter app
rails c
Now you’re in the console, one option to delete the entire staff action / admin logs is to use this:
However this removes everything which may not be what you wanted. You may want to limit the time period or investigate certain actions.
For example:
UserHistory.where(action: 17, acting_user_id: 5)
This would return all posts deleted by the user who’s id is 5
or
UserHistory.where(action: 17, post_id: 15643)
This would return information about who deleted the post with id 15643
For a list of table fields and actions id’s see this file:
# == 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)
#