Wszyscy wiemy, że Drupal tak naprawdę nie obsługuje koncepcji kluczy obcych w bazie danych i prawdopodobnie nigdy nie będzie 1 .
Wiemy również, że moduły mogą nie postępować właściwie lub użytkownicy okresowo robią takie szalone rzeczy
DELETE FROM node_revision
WHERE vid = 123
w celu „utrzymania porządku w bazie danych”. Kiedy tak się dzieje, haki nie działają, a baza danych zawiera osierocone dane. Przeważnie te dane są nieszkodliwe, ale czasami powodują naprawdę dziwne zachowanie i mogą powodować błędy w kodzie.
Czy istnieją jakieś przyzwoite metody wykrywania, czy masz martwe i / lub niespójne dane w bazie danych?
1 Interfejs API schematu Drupal 7 obsługuje je w zakresie dokumentacji , ale nie wymuszania.
Odpowiedzi:
Gdy pisałem opis projektu piaskownicy, natknąłem się na projekt piaskownicy, aby to zrobić:
http://drupal.org/sandbox/anton_krechetov/1345066
Obecnie działa tylko dla Drupala 6 i od listopada 2011 r. Nie było żadnych zmian, ale wygląda obiecująco.
źródło