Sappiamo tutti che Drupal non supporta realmente il concetto di chiavi esterne nel database e probabilmente non lo farà mai 1 .
Sappiamo anche che è possibile che i moduli non facciano la cosa giusta, o che gli utenti facciano periodicamente cose folli come
DELETE FROM node_revision
WHERE vid = 123
nel tentativo di "mantenere in ordine il database". In questo caso, gli hook non vengono eseguiti e nel database sono presenti dati orfani. Principalmente, questi dati sono innocui, ma a volte causano comportamenti davvero strani e possono far emergere bug nel codice.
Esistono metodi decenti per rilevare se nel database sono presenti dati morti e / o incoerenti?
1 L'API Schema Drupal 7 li supporta per la documentazione , ma non per l'applicazione.