Pregunta:
Todos sabemos que Drupal realmente no es compatible con el concepto de claves externas en la base de datos, y probablemente nunca lo hará 1 .
También sabemos que es posible que los módulos no hagan lo correcto, o que los usuarios periódicamente hagan locuras como
DELETE FROM node_revision
WHERE vid = 123
en un esfuerzo por "mantener ordenada la base de datos". Cuando esto sucede, los ganchos no se ejecutan y hay datos huérfanos en la base de datos. En su mayoría, estos datos son inofensivos, pero ocasionalmente causan un comportamiento realmente extraño y pueden provocar errores en el código.
¿Existe algún método decente para detectar si tiene datos muertos o inconsistentes en su base de datos?
1 La API de esquema de Drupal 7 los admite para la documentación , pero no para la ejecución.
Respuesta:
Mientras escribía una descripción para un proyecto de caja de arena, encontré un proyecto de caja de arena para hacer esto:
http://drupal.org/sandbox/anton_krechetov/1345066
Actualmente solo funciona para Drupal 6, y no ha habido confirmaciones desde noviembre de 2011, pero parece prometedor.