Мы все знаем, что Drupal на самом деле не поддерживает концепцию внешних ключей в базе данных, и, вероятно, никогда не будет 1 .
Мы также знаем, что модули могут делать неправильные вещи или что пользователи будут периодически делать сумасшедшие вещи, такие как
DELETE FROM node_revision
WHERE vid = 123
в попытке "держать базу данных в чистоте". Когда это происходит, перехватчики не запускаются, и в базе данных появляются потерянные данные. В основном, эти данные безвредны, но иногда они вызывают странное поведение и могут выявлять ошибки в коде.
Существуют ли приличные методы для определения наличия в вашей базе данных мертвых и / или противоречивых данных?
1 Drupal 7 Schema API поддерживает их для документирования , но не для принудительного применения.