Ja, wie Sie sagen, gibt es eine Liste von Modulen, die dies in Drupal 7 tun können, wie:
Knotenrevision löschen
Mit dem Modul "Knotenrevision löschen" können Sie alte Revisionen von Inhaltstypen verfolgen und bereinigen. Definieren Sie die maximale Anzahl von Revisionen, die pro Inhaltstyp beibehalten werden sollen. Laufen Sie auf Drush, Cron Run oder in einem anderen Zeitraum (täglich, wöchentlich usw.).
Knotenrevisionsbeschränkung
Mit dem Modul "Knotenrevisionsbeschränkung" können Sie die Knotenrevisionen für jeden Inhaltstyp einschränken. Dieses Modul verfügt über eine Administrationsoberfläche, über die der Schwellenwert für die Knotenrevision für jeden verfügbaren Inhaltstyp angegeben werden kann. Die mögliche Einstellung umfasst den Knotentyp mit dem entsprechenden Revisionslimit, der im Konfigurationsformular "Node Revision Restrict" angegeben ist. Beachten Sie, dass dieses Modul die aktuellen Revisionen eines Knotens nicht löscht und nicht löschen kann.
Bereinigung der Knotenrevision
Node Revision Cleanup wurde für wirklich große Datenbanken entwickelt. Und Site-Administratoren, die mit Drush vertraut sind. Das Konzept hinter diesem Modul besteht darin, über Drush mehrere Aufrufe gleichzeitig ausführen zu können, um die Anzahl der Löschungen von Knotenrevisionen pro Sekunde zu maximieren.
Revision löschen
Dieses Modul ermöglicht das Massenlöschen alternder Knotenrevisionen. Mögliche Einstellungen sind der Knotentyp, das Alter der Knotenrevision vor dem Löschen sowie eine Cron-Frequenzeinstellung. Die Revisionen können auch nach Überprüfung auf einer Verwaltungsseite gelöscht werden. Dieses Modul löscht NIEMALS die aktuelle Version eines Knotens und erlaubt Ihnen dies auch nicht.
Und für Drupal 8 gibt es derzeit kein Modul dafür, aber Sie können Folgendes verwenden:
So rufen Sie die Revisionsliste eines Knotens ab:
$vids = \Drupal::entityManager()->getStorage('node')->revisionIds($node);
Siehe Knoten haben jetzt einen Speichercontroller. node_revision_list () entfernt.
Um eine Revision zu löschen, können Sie die Funktion node_revision_delete () verwenden. Am Ende finden Sie jedoch den Funktionscode:
function node_revision_delete($revision_id) {
\Drupal::entityTypeManager()->getStorage('node')->deleteRevision($revision_id);
}
Also, ist besser, wenn Sie nur verwenden:
\Drupal::entityTypeManager()->getStorage('node')->deleteRevision($revision_id);