J'ai implémenté un site MediaWiki mais malheureusement, quelqu'un a créé des milliers de pages à travers des milliers d'utilisateurs.
Quelle requête pourrais-je exécuter pour supprimer toutes les pages créées par ces utilisateurs, sauf le mien?
Les pages MediaWiki se trouvent dans wiki_page
et wiki_text
dans la base de données MediaWiki, mais il n’existe pas de champ sur le nom de la personne qui a créé ces pages.
Plus grande table:
wiki_text
: 682MBwiki_externallinks
: 162,5 Mowiki_recentchange
: 95 MBwiki_page
: 43 MB
Ici , je trouve une réponse possible à mon problème mais je suis bloqué à la première étape:
"Exporter les articles créés par vous (probablement connectés en tant qu'utilisateur WikiSysop ou similaire)"
Comment puis-je exporter un article créé par moi-même si dans la table il n'y a pas de champ concernant l'utilisateur qui a créé les pages?
Si vous connaissez quelques Python (ou n'avez pas peur d'apprendre), vous devriez aborder cela avec pywikibot .
Vous pouvez parcourir wiki.allpages()
et ajouter une logique pour décider de supprimer ou non une page. Bon critère:
(Je peux ajouter quelques Python lignes ici s'il y a un intérêt. Faites le moi savoir.)