16 คะแนน โดย GN⁺ 2024-03-24 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • คำสั่ง SQL สำหรับสร้างสคีมาฐานข้อมูล SQLite ในรูปแบบ GraphViz
  • สามารถบันทึกเป็นไฟล์ หรือส่งผ่านไปยังคำสั่ง dot เพื่อแปลงเป็น PNG/SVG/PDF เป็นต้นได้
    sqlite3 path/to/database.db -init sqlite-schema-diagram.sql "" > schema.dot dot -Tsvg schema.dot > schema.svg
  • ต้องใช้ SQLite3 3.37.0 ขึ้นไป (มีฟังก์ชันสำหรับดึง table_list)

1 ความคิดเห็น

 
GN⁺ 2024-03-24
ความคิดเห็นจาก Hacker News
  • ผู้เขียนคิดว่างานของตัวเองเฉพาะทางและเล็กน้อยเกินไปจนไม่น่าจะได้รับความสนใจมากบน Hacker News แต่กลับได้รับความสนใจเกินคาด

    ผู้เขียนคิดว่างานของตัวเองคงไม่ได้รับความสนใจบน Hacker News แต่ก็แปลกใจที่จริง ๆ แล้วกลับมีคนสนใจ

  • เมื่อลองใช้กับคลังเก็บ Fossil ของ SQLite แผนภาพที่ได้ไม่มีลูกศรความสัมพันธ์ สคีมาของ Fossil ใช้คำสั่ง REFERENCES ที่อ้างถึงคีย์หลักของตารางโดยปริยาย และตัวสร้างแผนภาพต้องการชื่อคอลัมน์ที่ระบุอย่างชัดเจน

    เมื่อลองกับคลังเก็บ Fossil ของ SQLite ผลลัพธ์คือในแผนภาพไม่มีลูกศรแสดงความสัมพันธ์ สาเหตุมาจากสคีมาของ Fossil อ้างอิงคีย์หลัก และตัวสร้างแผนภาพต้องมีการระบุชื่อคอลัมน์อย่างชัดเจน

  • บริษัทแห่งหนึ่งที่เคยทำงานในยุคดอตคอมใช้เครื่องพิมพ์ขนาดใหญ่พิมพ์โปสเตอร์แผนภาพสคีมาฐานข้อมูลแล้วแขวนไว้บนผนัง ซึ่งมีประโยชน์มากสำหรับพนักงานใหม่

    ในอดีตมีบริษัทหนึ่งพิมพ์แผนภาพสคีมาฐานข้อมูลด้วยเครื่องพิมพ์ขนาดใหญ่แล้วติดไว้บนผนังเพื่อช่วยพนักงานใหม่

  • มีคนสร้างเครื่องมือคล้ายกันไว้ใช้ส่วนตัว โดยรับไฟล์ .dot เป็นอินพุตและมี UI แบบเรียบง่าย ให้เลือกตาราง/ความสัมพันธ์ที่จะรวมในแผนภาพสุดท้าย ไฮไลต์ตาราง เพิ่มตารางที่เกี่ยวข้อง เพิ่มตารางบนเส้นทางที่สั้นที่สุดระหว่างสองตาราง กำหนดสีให้แผนภาพสุดท้าย สร้างซอร์สกราฟที่ต้องใช้แล้วคัดลอกไปยังคลิปบอร์ด และโหลดหนึ่งในสองหน้า GraphViz สำหรับดูกราฟ

    เครื่องมือที่ผู้ใช้สร้างเองสามารถประมวลผลไฟล์ .dot และให้ผู้ใช้เลือกตารางกับความสัมพันธ์ในแผนภาพผ่านส่วนติดต่อผู้ใช้ พร้อมตัวเลือกกำหนดสีและแสดงเฉพาะฟิลด์สำคัญ รวมถึงคัดลอกซอร์สกราฟไปยังคลิปบอร์ดเพื่อดูในหน้า GraphViz

  • WWW SQL Designer เป็นเครื่องมือสร้างแผนภาพ SQL แบบออนไลน์

    WWW SQL Designer เป็นเครื่องมือที่ให้ผู้ใช้วาดแผนภาพ SQL ออนไลน์ได้

  • ผู้พัฒนาสนุกกับการ "ใช้ SQL เกินขอบเขต" ใน sqlite-schema-diagram.sql ซึ่งเป็นคำที่ผู้พัฒนาใช้บรรยายงานของตัวเอง

    ผู้พัฒนาสนุกกับการ "ใช้ SQL เกินขอบเขต" ในงานของตัวเอง และนี่เป็นถ้อยคำที่เขาใช้เรียกแนวทางนี้

  • พบเครื่องมือนี้จากเกมเซิร์ฟเวอร์ที่ใช้ SQLite และกำลังคิดจะเพิ่มเข้าไปใน CI pipeline เพราะฐานข้อมูลหลักมีความสัมพันธ์จำนวนมาก น่าจะเป็นประโยชน์ต่อคนอื่นที่มาทำงานด้วย

    มีคนวางแผนจะรวมเครื่องมือนี้เข้ากับ CI pipeline ของเกมเซิร์ฟเวอร์ที่ใช้ SQLite เพราะคาดว่าจะช่วยนักพัฒนาคนอื่นได้จากโครงสร้างความสัมพันธ์จำนวนมากในฐานข้อมูลหลัก

  • เครื่องมือสร้างแผนภาพนี้ดูมี dependency น้อยกว่า Schemaspy.org แม้ว่า Schemaspy.org ก็ยังยอดเยี่ยมสำหรับฐานข้อมูลขนาดใหญ่

    เครื่องมือนี้ดูต้องพึ่งพา dependency น้อยกว่า Schemaspy.org แต่ Schemaspy.org ก็ยังเหมาะมากกับฐานข้อมูลขนาดใหญ่

  • Paracelsus สร้างแผนภาพแบบ Markdown หรือ dot สำหรับฐานข้อมูลที่กำหนดด้วย SQLAlchemy

    Paracelsus เป็นเครื่องมือที่สร้างแผนภาพของฐานข้อมูลที่นิยามด้วย SQLAlchemy ในรูปแบบ Markdown หรือ dot

  • มีคนรวมเครื่องมือนี้เข้ากับ GitLab CI pipeline ภายใน 5 นาทีหลังจากเข้ามาดู

    ผู้ใช้พบเครื่องมือนี้และนำไปผนวกรวมกับ GitLab CI pipeline อย่างรวดเร็ว