J’avais le même problème que toi vony, c’est pour cela que j’étais arrivé sur cette rubrique de forum.
J’ai finalement appliquer ce que je pensais faire si je n’arrivais pas à trouver une solution propre :
> administration base de données
> table “rubriques”
> suppression de la ligne correspondant à l’identifiant de la rubrique concernée
Je me suis rendu-compte par la suite dans la base de données qu’une photo extrêmement volumineuse était rattachée à cette rubrique. C’était peut-être (certainement) la cause de mes problèmes. J’ai donc fait la chose suivante :
> table “documents_liens”
> recherche de l’identifiant de la rubrique précédemment supprimée, dans le champ “id_objet”
> prise en note de l’identifiant “id_document” correspondant (c’est l’identifiant de l’image qu’il faudra ensuite supprimer dans une autre table)
> suppression de la ligne correspondant à l’identifiant de la rubrique (“id_objet” vu précédemment)
> table “documents”
> recherche de l’identifiant de l’image (identifiant pris en note précédemment), dans le champ “id_document”
> suppression de la ligne correspondant à l’identifiant de l’image
Finalement j’ai réussi à nettoyer la base de données et la garder cohérente sans qu’il y ait d’enregistrement inutile qui traine dans un coin.
Mais déjà dès la première suppression, j’avais réglé le problème, en rompant toutes les dépendances entre la rubrique supprimée et l’image incriminée.
De ce fait je me pose la question suivante “quid des contraintes d’intégrité sur la base de données SPIP ?” (précision : je suis sous MySQL)
La solution décrite ci-dessus a été faite sur SPIP 2.1
En espérant en aider certains.