Bir veritabanı tutarsız olup olmadığını görmek için test edilebilir mi?


18

Hepimiz biliyoruz ki, Drupal veri tabanındaki yabancı anahtarlar kavramını gerçekten desteklemiyor ve muhtemelen asla desteklemiyor 1 .

Ayrıca modüllerin doğru şeyi yapmamasının mümkün olduğunu veya kullanıcıların periyodik olarak çılgınca şeyler yapacağını biliyoruz.

DELETE FROM node_revision
WHERE vid = 123

"veritabanını düzenli tutmak" için bir çaba. Bu olduğunda, kancalar çalışmaz ve veritabanında artık veriler vardır. Çoğunlukla, bu veriler zararsızdır, ancak bazen gerçekten garip davranışlara neden olur ve koddaki hataları ortaya çıkarabilir.

Veritabanınızda ölü ve / veya tutarsız verilerin olup olmadığını tespit etmek için iyi yöntemler var mı?

1 Drupal 7 Şema API'sı bunları dokümantasyon için destekler , ancak uygulama için desteklemez .


Diyelim ki "Drupal içinden iyi yöntemler" mi? Yoksa bir dış araca mı açıksınız?
iconoclast

İdeal olarak, Drupal içinde, ama her şeye açıkım. Drupal aracını kağıt planlamaya başladım, ancak ne kadar ileri gideceğini bilmiyorum.
mpdonadio

Sorun, bu tür verileri bulmak için bir dizi SQL sorgusuna indirgenebilir mi? Güzel bir Drupal kullanıcı arayüzü ile kullanımı kolay bir araç oluşturmuyorsanız, ancak manuel olarak sorgu veren bir MySQL istemcisinde oturuyorsanız, bu tür tutarsızlıkları nasıl bulursunuz?
iconoclast

Sorgular gerçekten sorun değil. Hangi tabloları sorgulayacağınızı ve hangi anahtarlara katılacağınızı daha çok bilmek. Benim fikrim, tüm tabloları almak için Şema API'sini kullanmak ve sonra bir sorgu oluşturmak olup olmadığını her şema anlamaya çalışın. Bu benim için bir tatil projesi olabilir.
mpdonadio

Btw, nihayet D8'de
Nic

Yanıtlar:


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.