Aller au contenu

Purger messages privés sur phpbb


vespa

Sujets conseillés

Bonjour,

Je me suis rendu compte que la taille des fichiers contenant les messages privés sur un de mes sites est importante et beaucoup de ces messages sont très très anciens parfois quelques années.

Connaitriez vous un addon pour gérer les messages privés sous phpbb qui permettrait notamment de supprimer tout ceux antérieurs à une certaine date ??? sinon je devrai passer par des requêtes SQL :(

Merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

Bonjour

@Nullette: cela fait une optimisation de la table, c'est à dire que cela va supprimer les espaces vides et recréer les index. Mais cela ne va absolument pas supprimer les entrées antérieures à une date donnée.

@Vespa: une commande SQL pour nettoyer les entrées plus vieilles qu'une date définie est très simple.

Il faut que tu repères la table qui contient ces messages persos, et dans cette table, le champ qui correspond à la date.

Ensuite tu peux faire un SELECT pour tester:

SELECT * from nom_de_table where nom_du_champ_date < '2006-01-01'

(pour autant que la date soit stockée dans ce format... )

Si cela te donne effectivement un bon résultat, tu peux lancer la même commande en remplaçant "SELECT *" par "DELETE"

Une fois fait, tu lances une optimisation de cette table :)

Lien vers le commentaire
Partager sur d’autres sites

Salut,

(Moi qui croyais savoir quelquechose :( ))

Dan !!

J'ai fait SELECT * from 'phpbb_privmsgs' WHERE 2006-01-01

et j'ai obtenu une grande table avec plein de colonnes.

privmsgs_id / privmsgs_type / privmsgs_subject / privmsgs_from_userid /privmsgs_date, etc..

Dans la colonne date il y a des chiffre genre : 1092913721, dans les colonnes from et to_userid il y a des chiffres qui vont de 2 à 1200

Si je fais DELETE, ça va tout supprimer depuis le 1er janvier 2006 ?

Je ne connais pas de tutoriel à ce sujet et j'ai trop peur de faire une fausse manip.

Lien vers le commentaire
Partager sur d’autres sites

Non ! La date est au format "Unix timestamp".

De plus, ton select est faux qu que tu n'as pas de champ après "where" ... regarde le mien.

Je te donne la ligne précise à envoyer... laisse-moi quelques minutes, que je convertisse la date au bon format. :)

Dan

La date du 1er janvier 2006 à 00H00 est, au format timestamp: '1136073600'

Fais un premier Select comme ceci (fais un copier/coller):

SELECT * from phpbb_privmsgs;

et regarde combien de résultats tu obtiens.

Ensuite (fais un copier/coller)

SELECT * from phpbb_privmsgs WHERE privmsgs_date < '1136073600';

le nombre d'entrées doit être inférieur à celui donné par le premier SELECT et représente ce que tu vas effacer.

Et finalement:

DELETE from phpbb_privmsgs WHERE privmsgs_date < '1136073600';

Une fois fait, entre ceci:

OPTIMIZE table phpbb_privmsgs;

Lien vers le commentaire
Partager sur d’autres sites

Merci Nullette & Dan pour ces explications.

En fait je cherchais un addon car il y a deux tables à purger en même temps et j'ai du mal avec les requetes ou il faut lier des tables :blush:

phpbb_privmsgs_text clef : privmsgs_text_id

phpbb_privmsgs clef : privmsgs_id

Lien vers le commentaire
Partager sur d’autres sites

C'est encore moi. Merci Dan.

SELECT * from phpbb_privmsgs;

et regarde combien de résultats tu obtiens

J'obtiens 81 pages de 30 lignes.

Ensuite (fais un copier/coller)

SELECT * from phpbb_privmsgs WHERE privmsgs_date < '1136073600';

le nombre d'entrées doit être inférieur à celui donné par le premier SELECT et représente ce que tu vas effacer.

J'obtiens 51 pages.

C'est donc delles-ci, si j'ai bien compris, que je peux effacer.

J'ai encore trois questions :

1) Comment on fait pour calculer la date ? (je voudrais effacer du 01 janvier 2004 à décembre 2005)

2) J'ai également une table phpbb_privmsgs_text et je ne sais pas si il s'agit d'autre chose.

3) Pour ne pas polluer ce forum avec mes questions, existe-t-il un tutoriel ?

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...