Restaurer des messages supprimés ?

Bonjour à tous,

Je suis auditeur sur un site utilisant le moteur Discourse. L’un des membres a supprimé environ 1300 messages. Le système place automatiquement les réponses à ces messages à la fin du sujet. Disposez-vous d’un outil de restauration par lots ?

Si vous êtes en auto-hébergement, vous pouvez le faire depuis la console Rails. Si vous êtes hébergé, vous pouvez contacter le support.

Il peut y avoir quelques indices sur les opérations par lots administratives.

Quelque chose comme :

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)

Mais je pense que vous devrez ensuite exécuter une autre commande pour mettre à jour d’autres tables.

Peux-tu expliquer exactement comment ils ont fait cela ? Dans une installation Discourse par défaut, un utilisateur standard est limité dans la quantité de messages qu’il peut supprimer, et les suppressions mettent 24 heures à entrer en vigueur.

Je pense qu’il a supprimé cinq publications chaque jour.

Je vois. Il s’agit de suppressions logiques, vous devriez donc pouvoir les annuler, soit via l’interface utilisateur, soit en ligne de commande si vous vous connectez au serveur via SSH.

Vous pouvez réduire le nombre de suppressions autorisées par jour dans les paramètres de votre site d’administration pour éviter que cela ne se reproduise à l’avenir ; il est question de permettre la valeur zéro dans ce paramètre afin d’empêcher toutes les suppressions.

Peux-tu t’assurer que le paramètre zéro sera pris en charge la semaine prochaine, @sam ? Et mets à jour le texte autour du paramètre pour que les utilisateurs sachent qu’il existe.

Effectué via :

Définir soit max_post_deletions_per_minute soit max_post_deletions_per_day à 0 désactivera l’auto-suppression des publications.