Est-il sûr de tronquer une table de révision de champ?

13

J'ai remarqué que D7 crée une table field_revision pour chaque champ et duplique le contenu de son homologue de table de champ même si l'une des révisions est désactivée.

J'ai un grand tableau de texte et il prend beaucoup de place (plusieurs Go).

Serait-il sûr de tronquer la table de révision?

PS: Pendant ce temps, j'ai également signalé cela comme un bug .

giorgio79
la source
C'est en fait une bonne question! Je pense que la table est créée par core mais ne reçoit des enregistrements insérés que si les révisions sont activées.
stefgosselin
Merci :) c'est ce que j'attendais aussi, mais il semble que D7 crée des copies de révision malgré tout. Cela a été confirmé ici drupal.stackexchange.com/questions/7027/… . Peut-être un bug de base?
giorgio79
Je vais classer cela comme une fonctionnalité, pas comme un bug;) Je pense que la logique au-delà est que si vous changez d'avis et activez les révisions, ce serait beaucoup trop de surcharge sur la base de données pour remplir soudainement toutes les field_revision_*tables.
tostinni
1
J'en ai beaucoup, mais je ne pense pas que cela ait quoi que ce soit à voir avec les modules contrib. Regardez simplement à l'intérieur de votre base de données, et vous verrez que chaque champ a une table field_revision associée ...
giorgio79

Réponses:

3

Je pense que le module Field SQL norevisions vous aidera:

Les norevisions SQL de champ fournissent un backend de stockage de champ qui empêche les révisions d'entité d'être enregistrées dans le backend de stockage MySQL.

Le but du module est de réduire la quantité de données dupliquées qui sont enregistrées sur les grands sites Drupal qui n'utilisent pas de révisions. Il présente l'avantage supplémentaire de réduire de moitié le nombre de requêtes lors de la création d'entités avec des champs.

Ce module ne permettra pas la création de champs de révision, il augmentera vos performances car le nombre de requêtes sera réduit, en plus de cela, vous n'aurez plus de révisions sur les nœuds.

Vous pouvez également utiliser certains codes de module personnalisés fournis sur l'URL suivante:

http://www.ambidev.com/make-your-drupal-7-faster-by-removing-all-revisions/

et ce module pour supprimer les entrées de révision:

https://www.drupal.org/project/node_revision_delete

Gaurav Singh
la source
0

Non, ce n'est pas sûr. J'utilise Drupal 7. J'utilise le module de quiz sur mon site Web, et j'ai remarqué qu'il y avait au moins deux erreurs lorsque j'ai vidé tout le field_revision_ * un avec une erreur variable dont je ne me souviens pas vraiment, et l'autre était les questions ont disparu .

Curieusement, les options de réponse étaient là, mais toutes les questions avaient disparu. Je n'ai pas cherché plus de détails, j'ai remis les tables field_revision_ * et ça a commencé à fonctionner correctement.

Tout ce que je peux dire, c'est que si vous utilisez le module de quiz et allez sur myPHPAdmin et tronquez ces tableaux, vous obtiendrez des erreurs. Si vous n'utilisez pas le module de quiz, je ne sais pas. mais ce n'est pas à l'épreuve des balles. Je recommanderais d'utiliser certains modules éprouvés pour effacer vos révisions.

Simon Yi
la source