สามารถทดสอบฐานข้อมูลเพื่อดูว่ามันไม่สอดคล้องกันหรือไม่?


18

เราทุกคนรู้ว่า Drupal ไม่ได้โดดสนับสนุนแนวคิดของปุ่มต่างประเทศในฐานข้อมูลและมีแนวโน้มที่จะไม่ 1

เรารู้ด้วยว่ามันเป็นไปได้ที่โมดูลจะไม่ทำสิ่งที่ถูกต้องหรือผู้ใช้จะทำสิ่งที่บ้าเป็นระยะ ๆ

DELETE FROM node_revision
WHERE vid = 123

ในความพยายามที่จะ "ทำให้ฐานข้อมูลเป็นระเบียบเรียบร้อย" เมื่อสิ่งนี้เกิดขึ้น hooks จะไม่ทำงานและมีข้อมูลที่ถูกโยงถึงในฐานข้อมูล ส่วนใหญ่ข้อมูลนี้ไม่เป็นอันตราย แต่บางครั้งก็ทำให้เกิดพฤติกรรมแปลก ๆ และสามารถนำข้อบกพร่องออกมาในรหัส

มีวิธีการที่เหมาะสมในการตรวจสอบว่าคุณมีข้อมูลที่ตายและ / หรือไม่สอดคล้องในฐานข้อมูลของคุณหรือไม่?

1 Drupal 7 Schema API รองรับเอกสารเหล่านั้น แต่ไม่บังคับใช้


ฉันคิดว่าคุณหมายถึง "วิธีการที่ดีจากภายใน Drupal"? หรือคุณเปิดเครื่องมือภายนอก?
iconoclast

เป็นการดีที่ภายใน Drupal แต่ฉันเปิดรับทุกอย่าง ฉันเริ่มต้นกระดาษวางแผนเครื่องมือ Drupal แต่ไม่รู้ว่ามันจะไปได้ไกลแค่ไหน
mpdonadio

สามารถลดปัญหาลงในชุดการสืบค้น SQL เพื่อค้นหาข้อมูลดังกล่าวได้หรือไม่? หากคุณไม่ได้สร้างเครื่องมือที่ใช้งานง่ายด้วย Drupal UI ที่ดี แต่แทนที่จะนั่งที่ลูกค้า MySQL ที่ออกแบบสอบถามด้วยตนเองคุณจะพบความไม่สอดคล้องดังกล่าวอย่างไร
iconoclast

คำค้นหาไม่ใช่ปัญหาจริงๆ มันรู้เพิ่มเติมว่าตารางในการสืบค้นและคีย์ใดที่จะเข้าร่วม แนวคิดเรื่องกระดาษของฉันคือการใช้ Schema API เพื่อรับตารางทั้งหมดแล้วลองคิดออกมาจากแต่ละ schema ว่าเราสามารถสร้างแบบสอบถามได้หรือไม่ นี่อาจเป็นโครงการวันหยุดสำหรับฉัน
mpdonadio

Btw ดูเหมือนว่าในที่สุดจะมีการสนับสนุน FK ใน D8: drupal.org/node/911352
Nic

คำตอบ:


2

ขณะที่ฉันเขียนคำอธิบายสำหรับโครงการ sandbox ฉันก็เจอโครงการ sandbox เพื่อทำสิ่งนี้:

http://drupal.org/sandbox/anton_krechetov/1345066

ปัจจุบันใช้งานได้กับ Drupal 6 เท่านั้นและยังไม่ได้มีข้อผูกมัดใด ๆ ตั้งแต่ พ.ย. 2554 แต่มันก็ดูดี

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.