Comment supprimer / purger les révisions d'un site SPIP ?

Bonjour,

Sur certains anciens sites qui ont les révisions d’activées, j’ai la table spip_versions_fragments qui fait plus de 900Mo.

Est-ce qu’il existe un moyen de vider/purger une partie de cette table facilement ?
Comment faire la relation entre le contenu des tables spip_versions_fragments et spip_versions ? Je ne trouve pas vraiment d’infos.

Par exemple est-ce possible de ne garder que les révisions qui ont max 1 an ?

Merci de votre aide.

Tu peux certainement t’inspirer du genie qui supprime les révisions des objets supprimés cf genie/revisions_optimiser_revisions.php · master · spip / revisions · GitLab :slight_smile:

Ceci-dit je crois que c’est un besoin que j’ai déjà entendu, quand tu auras trouvé la solution ce serait bien de la partager :slight_smile:

Sur un site qui vit sa belle vie pendant plusieurs années (milliers de contenus sur un temps long), c’est un problème qui arrive immanquablement. M’est-avis que ça devrait être pris en charge directement par le plugin (donc ni chacun perso, ni même un sous-plugin), et qu’il devrait y avoir une interface pour purger tout ou partie des révisions (par ex « supprimer toutes les révisions plus vieilles que… » ou encore « ne garder que les X révisions les plus récentes… »). Il faudrait donc faire un ticket d’évolution directement dans le plugin.

Edit : ah ben tiens, quelqu’un y avait pensé haha : Permettre en admin de nettoyer/optimiser les révisions (#4833) · Issues · spip / revisions · GitLab

Merci @b_b pour le lien je vais essayer de regarder ça.

Donc de ce que je comprend, rien n’est prévu par défaut pour ce genre de situation.
Si les révisions sont activées, elles grossissent indéfiniment sans possibilité de purge/nettoyage ?

Question pour les admins de ferme à SPIP, comment vous faite pour nettoyez ces tables ? Vous avez une requête SQL perso que vous exécutez de temps en temps ?