2010-10-20 3 views
1

est-il un moyen de nettoyer, supprimer toutes les pages wiki afin que je puisse avoir un index propre, avec seulement les pages que j'ai créé?supprimer toutes les pages trac à la fois

+1

Il est pas tout à fait clair, si la demande est de garder des pages personnalisées déjà existantes, ou si vous demandez juste à se débarrasser de toutes les pages du wiki comme la plupart des réponses suggèrent . Bien sûr, c'est une question de goût de garder toutes les pages, mais certaines comme TitelIndex ou RecentChanges pourraient faire partie de n'importe quel wiki, donc vous les ré-inventerez peut-être tôt ou tard. Pourquoi ne pas les personnaliser selon vos goûts? – hasienda

Répondre

3

Vous pouvez pirater autour TRAC-admin comme ceci:

#!/bin/sh 

# extract the page list from trac (this filter matches only CamelCase words or numbers, 
# it will blow if there are pages which does not fit into this scheme) 
for site in `trac-admin /path/to/trac wiki list | sed -e 's/\([a-zA-Z0-9]*\).*/\1/'` 
do 
    # and remove every single page 
    trac-admin /path/to/trac wiki remove $site 
done 
+0

Juste utilisé cette commande pour supprimer ** TOUS * pages wiki. Merci pour cet extrait. Attention, il supprime ** chaque ** page! Pas seulement ceux générés automatiquement. –

2

Précaution: Faire une vérification-bonne sauvegarde avant, le nettoyage des modifications de l'utilisateur aux pages standard est définitive *).

Pourvu que vous pouvez accéder directement db vous devez taper simple instruction SQL suivante:

SELECT name FROM wiki WHERE author='trac';

Il renvoie les noms de toutes les pages wiki

  1. créés par Trac lui-même (automatiquement Trac création de l'environnement alias 'init')
  2. importé, chargé ou mis à niveau via l'interface de ligne de commande (CLI) trac-admin plus tard (trac-admin <env> wik i < l'action >)

Vous pouvez changer, à savoir exclure certaines pages en élargissant l'énoncé des conditions supplémentaires dans la syntaxe appropriée SQL.

Lorsqu'un SELECT renvoie exactement les pages que vous êtes après, tout ce que vous devez faire est de changer la même déclaration dans un SUPPRIMER:

DELETE FROM wiki WHERE author='trac';

l'ensemble de vos pages wiki personnalisés auront disparu cette seconde.

*) Le contenu original pourrait encore être rétablie à tout moment simplement exécuter la commande suivante dans une session de terminal avec les autorisations appropriées:

trac-admin <env> wiki upgrade 
0

Vous pouvez simplement exécuter:

$ trac-admin /path/to/trac wiki remove * 

Si vous vouloir être plus sélectif en utilisant un outil graphique, vous pouvez utiliser sqlitebrowser disponible pour linux et windows.

+0

Comment éviter de supprimer des pages utilisateur ici? Votre suggestion supprimerait simplement toutes les pages, ce qui est clairement * non * OP intention. Bien que fait sur l'initialisation de l'environnement ce serait bien. Certes, la question n'est pas totalement claire à cet égard. – hasienda

+0

Cette commande ne fonctionne pas: 'Erreur: Arguments invalides 'et ce n'est pas la réponse à cette question aussi –

0

Si vous utilisez sqlite comme base de données (standard pour trac). Utilisez cette commande pour supprimer des entrées de wiki avec l'auteur porteur:

sqlite3 /your/path/to/trac.db "DELETE FROM wiki WHERE author='trac'" 
Questions connexes