Nous savons tous que Drupal ne prend pas vraiment en charge le concept de clés étrangères dans la base de données, et ne le fera probablement jamais 1 .
Nous savons également qu'il est possible que les modules ne fassent pas la bonne chose, ou que les utilisateurs fassent périodiquement des choses folles comme
DELETE FROM node_revision
WHERE vid = 123
dans un effort pour "garder la base de données en ordre". Dans ce cas, les hooks ne s'exécutent pas et la base de données contient des données orphelines. Généralement, ces données sont inoffensives, mais occasionnellement, elles provoquent un comportement vraiment étrange et peuvent faire ressortir des bogues dans le code.
Existe-t-il des méthodes décentes pour détecter si vous avez des données mortes et / ou incohérentes dans votre base de données?
1 L'API de schéma Drupal 7 les prend en charge pour la documentation , mais pas pour leur application.
Réponses:
Pendant que j'écrivais une description pour un projet sandbox, j'ai rencontré un projet sandbox pour faire ceci:
http://drupal.org/sandbox/anton_krechetov/1345066
Il ne fonctionne actuellement que pour Drupal 6, et il n'y a eu aucun commit depuis novembre 2011, mais il semble prometteur.
la source