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.
Respostas:
Enquanto escrevia uma descrição para um projeto de sandbox, deparei-me com um projeto de sandbox para fazer isso:
http://drupal.org/sandbox/anton_krechetov/1345066
Atualmente, ele funciona apenas para o Drupal 6 e não há nenhum commit desde novembro de 2011, mas parece promissor.
fonte