Supprimer définitivement les publications supprimées en masse ?

Chère équipe,

Aidez-moi s’il vous plaît à résoudre ce problème !

Nous avons trop de publications supprimées et nous devons les supprimer définitivement, mais en masse !

3 « J'aime »

Un sujet supprimé est exactement ce qu’il indique : un sujet supprimé. Aucune action supplémentaire n’est requise, et seuls les administrateurs peuvent consulter de tels sujets. Vous supprimez directement un sujet déjà supprimé.

1 « J'aime »

Je ne veux pas qu’ils apparaissent dans la liste des sujets supprimés ; je souhaite les supprimer de la base de données.

Existe-t-il donc une commande ou une méthode pour les effacer ?

5 « J'aime »

Ce n’est pas quelque chose que j’ai fait, mais ce sujet est-il utile :

2 « J'aime »

Pas utile :frowning: s’il vous plaît, aidez-moi si vous trouvez quelque chose ?

1 « J'aime »

Cela pourrait peut-être vous aider :

2 « J'aime »

image

La catégorie « posts supprimés » n’apparaît pas ??

1 « J'aime »

Avez-vous une catégorie avec l’identifiant deleted-posts ? Les messages de votre capture d’écran semblent probablement appartenir à des catégories ayant des identifiants différents.

image

1 « J'aime »

Si je supprime par catégorie, tous les POSTS qui ne sont pas dans deleted-posts seront également supprimés !

Pouvez-vous donc m’aider à supprimer deleted-posts de la base de données ?

2 « J'aime »

Je cherche aussi un moyen de faire cela. Après de nombreuses recherches ici sur Meta et beaucoup d’essais et d’échecs, je suis maintenant tout à fait confus.

Pouvons-nous en effet purger définitivement les messages supprimés de la base de données ? Comment ?

2 « J'aime »

si vous pouvez supprimer une catégorie, alors vous pouvez supprimer les publications supprimées.

je reconstruis actuellement mon application de test pour installer l’explorateur de données

:slight_smile:

1 « J'aime »

Je ne suis pas sûr de savoir comment faire. Je mentionnais simplement que la commande que vous avez saisie semble rechercher une catégorie dont l’identifiant (slug) est deleted-posts.

1 « J'aime »

Lorsque vous supprimez une catégorie à l’aide de la tâche Rake, tous les messages (et pas seulement les sujets) qu’elle contient sont supprimés. Cependant, cette suppression est seulement logique (soft delete).

Je ne suis toujours pas certain de savoir comment supprimer réellement les messages de la base de données. Je ne sais pas non plus comment me débarrasser des fichiers joints associés à mes messages supprimés. Les deux problèmes me causent pas mal de tracas pour le moment.

2 « J'aime »

Je pense que les pièces jointes seront nettoyées par l’un des tâches quotidiennes, à condition qu’elles ne fassent pas partie de la dernière version du message. Ainsi, modifier le message supprimé en « (supprimé par l’administrateur) » ou quelque chose de similaire rendrait sa pièce jointe faisant partie de l’historique des modifications, ce qui l’orphelinerait (et permettrait donc de la récupérer lors du nettoyage « supprimer les orphelins »).

Je ne fais que théoriser, donc cela pourrait être erroné. :slightly_smiling_face:

Source :

1 « J'aime »

Si vous vous connectez à PostgreSQL, vous pouvez le supprimer de la base de données.

J’examine les tâches rake destroy actuelles et j’essaie de comprendre leur fonctionnement. Peut-être que les personnes ayant créé la tâche destroy actuelle pourraient mettre en place quelque chose pour nous permettre de supprimer les publications supprimées.

3 « J'aime »

Oui, c’est exact.
Pour vous débarrasser d’une pièce jointe, vous devez supprimer le contenu du message, puis supprimer le message lui-même.

2 « J'aime »

Si tu as une commande ou quelque chose d’utile et rapide, partage-le avec moi, s’il te plaît !

1 « J'aime »

Merci Richard et @JammyDodger !

Mon seul problème est que j’ai 20 000 messages à traiter ainsi. Connaissez-vous des raccourcis ?

2 « J'aime »

Je crains d’être au début de mon parcours sur Discourse, donc je ne possède pas l’expertise nécessaire pour cela. :slightly_smiling_face:

Est-il possible de modifier cela pour cibler les messages supprimés plutôt que les messages d’un utilisateur, afin d’obtenir un résultat similaire ?

1 « J'aime »

Post.with_deleted.where('deleted_at is not null').update_all(raw: 'Ce message a été supprimé', cooked: 'Ce message a été supprimé')

6 « J'aime »