Todos nós sabemos que o Drupal realmente não suporta o conceito de chaves estrangeiras no banco de dados e provavelmente nunca 1 .
Também sabemos que é possível que os módulos não façam a coisa certa ou que os usuários periodicamente fazem coisas loucas como
DELETE FROM node_revision
WHERE vid = 123
em um esforço para "manter o banco de dados arrumado". Quando isso acontece, os ganchos não são executados e há dados órfãos no banco de dados. Principalmente, esses dados são inofensivos, mas ocasionalmente causam comportamentos realmente estranhos e podem trazer bugs no código.
Existem métodos decentes para detectar se você possui dados mortos e / ou inconsistentes no seu banco de dados?
1 A API do Drupal 7 Schema oferece suporte para documentação , mas não aplicação.