Wir alle wissen, dass Drupal das Konzept von Fremdschlüsseln in der Datenbank nicht wirklich unterstützt und wahrscheinlich niemals 1 .
Wir wissen auch, dass Module möglicherweise nicht das Richtige tun, oder dass Benutzer in regelmäßigen Abständen verrückte Dinge wie tun
DELETE FROM node_revision
WHERE vid = 123
in dem Bestreben, "die Datenbank aufgeräumt zu halten". In diesem Fall werden keine Hooks ausgeführt und die Datenbank enthält verwaiste Daten. Meistens sind diese Daten harmlos, aber gelegentlich verursachen sie wirklich seltsames Verhalten und können Fehler im Code hervorrufen.
Gibt es angemessene Methoden, um festzustellen, ob Ihre Datenbank tote und / oder inkonsistente Daten enthält?
1 Die Drupal 7-Schema-API unterstützt sie zur Dokumentation , jedoch nicht zur Durchsetzung.
Antworten:
Während ich eine Beschreibung für ein Sandbox-Projekt schrieb, bin ich auf ein Sandbox-Projekt gestoßen:
http://drupal.org/sandbox/anton_krechetov/1345066
Derzeit funktioniert es nur für Drupal 6, und seit November 2011 wurden keine Commits mehr durchgeführt, aber es sieht vielversprechend aus.
quelle