Vous pourriez le faire en utilisant la console rails mais c’est aussi dangereux. Donc si j’ai bien compris, cela ressemblerait à ceci :
cd /var/discourse
sudo ./launcher enter app
rails c
Maintenant, vous êtes dans la console, une option pour supprimer toutes les actions du personnel / logs d’administration est d’utiliser ceci :
Cependant, cela supprime tout, ce qui n’est peut-être pas ce que vous vouliez. Vous pourriez vouloir limiter la période de temps ou enquêter sur certaines actions.
Par exemple :
UserHistory.where(action: 17, acting_user_id: 5)
Cela retournerait tous les posts supprimés par l’utilisateur dont l’id est 5.
ou
UserHistory.where(action: 17, post_id: 15643)
Cela retournerait des informations sur qui a supprimé le post avec l’id 15643.
Pour une liste des champs de table et des id d’actions, voir ce fichier :
# == Informations sur le schéma
#
# Nom de la table : 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
#
# Index
#
# 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)
#