เปรียบเทียบ SQL Schema
เครื่องมือเทียบสคีมา SQL ฟรี เทียบสคริปต์ CREATE TABLE สองชุด พบคอลัมน์ที่เพิ่ม ถูกลบ และเปลี่ยน ทั้งชนิดข้อมูล การพลิก NULL ความต่างของ index และการเปลี่ยนชื่อ พร้อมคำสั่ง ALTER TABLE ทำงานทั้งหมดในเบราว์เซอร์
Loading tool...
เปรียบเทียบ SQL Schema คืออะไร?
SQL Schema Diff Checker เทียบ CREATE TABLE สองชุดแล้วรายงานสิ่งที่เปลี่ยนไปอย่างครบถ้วน: ตารางและคอลัมน์ที่เพิ่มหรือถูกลบ การเปลี่ยนชนิดข้อมูล การพลิกระหว่าง NULL กับ NOT NULL ค่า default ที่เปลี่ยน และความต่างของ index รวมถึงรายชื่อคอลัมน์ภายใน index ที่เปลี่ยน พร้อมเสนอคำสั่ง ALTER TABLE สไตล์ MySQL สำหรับย้ายสคีมา และตั้งข้อสังเกตการเปลี่ยนชื่อเมื่อคอลัมน์หายไปหนึ่งและมีคอลัมน์ชนิดเดียวกันเพิ่มเข้ามา ทุกอย่างอ่านในเบราว์เซอร์โดยไม่ต้องเชื่อมต่อฐานข้อมูล
ประโยชน์หลัก
- เห็นความต่างของสคีมาครบในหน้าเดียว แทนการกลองตาไล่สองดัมพ์
- จับการเปลี่ยนที่พังง่าย: ชนิดข้อมูลและการพลิก nullable ก่อนถึง production
- ได้รายการ ALTER TABLE ที่พร้อมตรวจทานทันที
- การเดาเปลี่ยนชื่อช่วยป้องกันการลบแล้วสร้างคอลัมน์ใหม่โดยไม่จำเป็น
- ไม่ต้องเข้าถึงฐานข้อมูล: วาง DDL แล้วเทียบได้ทันที
กรณีการใช้งาน
- •ตรวจ migration ที่สร้างอัตโนมัติก่อนรันจริง
- •เทียบดัมพ์สคีมาระหว่าง staging กับ production
- •ตรวจว่าโมเดล ORM ตรงกับ DDL ของฐานข้อมูลหรือไม่
- •ตรวจความเพี้ยนระหว่างสองสภาพแวดล้อมหลังแก้ด่วน
- •อธิบายสิ่งที่เปลี่ยนระหว่างเวอร์ชันสคีมาใน pull request
วิธีเทียบสคีมา SQL สองชุด
- วางสคีมาเดิม: วาง CREATE TABLE เวอร์ชันเก่า จากดัมพ์หรือไฟล์ migration ลงช่องซ้าย มีหลายตารางได้ ทุกตารางจะถูกเทียบ
- วางสคีมาใหม่: วางเวอร์ชันใหม่ของตารางชุดเดิมลงช่องขวา คงชื่อตารางเดิมไว้เพื่อให้การเทียบจับคู่กันได้
- กดเทียบ: กดปุ่มเทียบสคีมา รายงานจะแสดงตารางและคอลัมน์ที่เพิ่มหรือถูกลบ การเปลี่ยนชนิด การพลิก nullable ค่า default และความต่างของ index ในแต่ละตาราง
- คัดลอกคำสั่งย้าย: ตรวจคำสั่ง ALTER ที่แนะนำด้านล่าง แก้จุดที่การเดาคลาดเคลื่อน แล้วคัดลอกลงไฟล์ migration ของคุณ
คุณสมบัติหลัก
- อ่าน CREATE TABLE ได้ทั้งคอลัมน์ ชนิด ค่า default และคีย์ต่าง ๆ
- รายงานตารางและคอลัมน์ที่เพิ่มหรือถูกลบเคียงข้างกัน
- ตรวจการเปลี่ยนชนิด การพลิก nullable และค่า default ทีละคอลัมน์
- เทียบ index และ primary key รวมถึงรายชื่อคอลัมน์ที่เปลี่ยน
- เดาการเปลี่ยนชื่อเมื่อคอลัมน์หายไปหนึ่งและคอลัมน์ชนิดเดียวกันเพิ่มเข้ามา
- คัดลอกคำสั่ง ALTER สไตล์ MySQL สำหรับย้ายสคีมาได้ในคลิกเดียว