เครื่องมืออนุมาน Schema

การเชื่อมต่อใหม่ทุกครั้งเริ่มต้นเหมือนกัน: API ส่งก้อน JSON กลับมา และคุณต้องมีโมเดลไว้เก็บมัน การพิมพ์ 20 ฟิลด์ด้วยมือนั้นน่าเบื่อและเกิดข้อผิดพลาดได้ง่าย เครื่องมือนี้แจงออบเจ็กต์ JSON ตัวอย่าง เลือกชนิดคอลัมน์ให้แต่ละคีย์ และสร้างสคีมาที่พร้อมวางในรูปแบบที่คุณต้องการ: SQL CREATE TABLE, สคีมา Mongoose หรือนิยามโมเดล Sequelize

วิธีอนุมานสคีมาจาก JSON

  1. 1

    วางออบเจ็กต์ตัวอย่าง

    ใส่ออบเจ็กต์ JSON หนึ่งตัว หรืออาร์เรย์ของออบเจ็กต์ (ระบบจะอ่านออบเจ็กต์แรกในอาร์เรย์) ใช้เรกคอร์ดที่สมบูรณ์ซึ่งกรอกทุกฟิลด์ เพื่อให้ทุกคอลัมน์ได้รับชนิด

  2. 2

    เลือกรูปแบบผลลัพธ์

    SQL CREATE TABLE (สไตล์ Postgres / MySQL / SQLite), Mongoose สำหรับแอป Node.js ที่ใช้ MongoDB หรือ Sequelize สำหรับแอป Node.js แบบเชิงสัมพันธ์

  3. 3

    ตั้งชื่อตารางหรือโมเดล

    กำหนดชื่อตารางในผลลัพธ์ SQL หรือชื่อสคีมาหรือโมเดลในผลลัพธ์ Mongoose และ Sequelize

  4. 4

    คัดลอกสคีมาที่สร้างขึ้น

    วางลงในไฟล์ migration หรือไฟล์โมเดลได้เลยเพื่อใช้เป็นจุดเริ่มต้น

ชนิดถูกอนุมานอย่างไร

การอนุมานเป็นการคาดเดาที่ดีที่สุด เครื่องมืออ่านค่าต่าง ๆ ของออบเจ็กต์ตัวอย่างหนึ่งตัว แล้วเลือกชนิดคอลัมน์ให้แต่ละคีย์จากค่าที่เห็น มันไม่เปรียบเทียบเรกคอร์ดและไม่เดาว่าฟิลด์ใดเป็นทางเลือก ดังนั้นจงให้ออบเจ็กต์ที่สมบูรณ์และเป็นตัวแทนแก่มัน

การจับคู่ชนิด

ค่า JSON ชนิด SQL ชนิด Mongoose ชนิด Sequelize
42 (จำนวนเต็ม) INTEGER Number DataTypes.INTEGER
3.14 (ทศนิยม) DECIMAL(10,2) Number DataTypes.FLOAT
"สวัสดี" (สตริงสั้น) VARCHAR(255) String DataTypes.STRING
สตริงยาวเกิน 255 อักขระ TEXT String DataTypes.STRING
"2026-04-18T10:00:00Z" TIMESTAMP Date DataTypes.DATE
"2026-04-18" DATE Date DataTypes.DATEONLY
true / false BOOLEAN Boolean DataTypes.BOOLEAN
null TEXT String DataTypes.STRING
[1, 2, 3] (อาร์เรย์) JSON Object DataTypes.JSON
{ "nested": ... } (ออบเจ็กต์) JSON Object DataTypes.JSON

สิ่งที่ผลลัพธ์ SQL เพิ่มให้

SQL CREATE TABLE จะเริ่มด้วยคีย์หลักแบบเพิ่มค่าอัตโนมัติเสมอ:

id INTEGER PRIMARY KEY AUTOINCREMENT,

ผลลัพธ์ Mongoose และ Sequelize จะไม่เพิ่มฟิลด์ id เพราะไลบรารีทั้งสองสร้างให้คุณอยู่แล้ว

ค่าเริ่มต้นและข้อจำกัดที่ควรจำ

  • อ่านออบเจ็กต์เดียว ถ้าคุณวางอาร์เรย์ ระบบจะตรวจเฉพาะสมาชิกตัวแรก ดังนั้นฟิลด์ของมันจึงกำหนดทั้งสคีมา
  • คีย์ที่ขาดหายคือคอลัมน์ที่ไม่มี ฟิลด์ที่ไม่มีในออบเจ็กต์ตัวอย่างจะไม่ปรากฏในผลลัพธ์เลย
  • ออบเจ็กต์และอาร์เรย์ที่ซ้อนกันจะกลายเป็นคอลัมน์ JSON เดียว เครื่องมือไม่แตกมันออกเป็นตารางย่อย สคีมาย่อย หรือคีย์นอก
  • ไม่มีการสร้างข้อจำกัดใด ๆ คอลัมน์ถูกสร้างโดยไม่มี NOT NULL ความไม่ซ้ำ หรือดัชนี ดังนั้นทั้งหมดจึงยอมรับค่า null จนกว่าคุณจะรัดกุมขึ้น

เคล็ดลับให้ผลลัพธ์เรียบร้อยขึ้น

  • ใช้เรกคอร์ดที่กรอกครบถ้วน ฟิลด์ที่เป็น null ในตัวอย่างของคุณจะถูกกำหนดชนิดเป็นข้อความ/สตริง ซึ่งมักไม่ใช่สิ่งที่คุณต้องการ
  • เปลี่ยนชื่อคำสงวนหลังจากสร้าง ฟิลด์อย่าง type, order หรือ user จะต้องใส่เครื่องหมายคำพูดใน SQL
  • มองผลลัพธ์เป็นโครงร่าง ปรับความยาว VARCHAR และความแม่นยำ DECIMAL เพิ่มดัชนี ทำเครื่องหมายคอลัมน์เป็น NOT NULL และเลือกคีย์จริงก่อนนำขึ้นใช้งาน

คำถามที่พบบ่อย

ออบเจ็กต์หรืออาร์เรย์ที่ซ้อนกันจะถูกจับคู่เป็นคอลัมน์ JSON เดียว (JSON ใน SQL และ Sequelize, ฟิลด์ชนิด Object ใน Mongoose) เครื่องมือไม่แตกโครงสร้างที่ซ้อนกันออกเป็นตารางย่อยหรือสคีมาย่อย ดังนั้นหากจำเป็นคุณต้องแผ่หรือทำ normalize เอง

ไม่ ถ้าคุณวางอาร์เรย์ของออบเจ็กต์ ระบบจะตรวจเฉพาะออบเจ็กต์แรก และคีย์ของมันเป็นตัวกำหนดสคีมา โปรดตรวจให้แน่ใจว่าเรกคอร์ดแรกนั้นมีทุกฟิลด์ที่คุณสนใจ พร้อมค่าจริงในแต่ละฟิลด์

ไม่ แต่ละคอลัมน์ถูกสร้างพร้อมชนิดเท่านั้น ดังนั้นผลลัพธ์จึงไม่มีคีย์นอก ข้อจำกัดความไม่ซ้ำ ดัชนี หรือประโยค NOT NULL จงเพิ่มด้วยมือ เพราะสิ่งเหล่านี้เข้ารหัสเจตนาที่เครื่องมือไม่อาจกู้คืนได้จากตัวอย่าง

เลือก SQL CREATE TABLE สำหรับ migration ฐานข้อมูลเชิงสัมพันธ์, Mongoose Schema สำหรับแอป Node.js บน MongoDB หรือ Sequelize Model สำหรับแอป Node.js บนฐานข้อมูลเชิงสัมพันธ์ผ่าน ORM ของ Sequelize

เครื่องมือที่เกี่ยวข้อง

ตัวสร้างการตั้งค่า Webpack

สร้าง webpack.config.js สำหรับ webpack 5 ทั้งแบบ JavaScript ล้วน React หรือ Vue พร้อม TypeScript, Babel, CSS หรือ Sass, รูปภาพ, HtmlWebpackPlugin, เซิร์ฟเวอร์สำหรับพัฒนา และคำสั่ง npm install

เครื่องแปลงฐานตัวเลข

แปลงตัวเลขระหว่างฐานสอง ฐานแปด ฐานสิบ ฐานสิบหก และฐานกำหนดเองตั้งแต่ 2 ถึง 36 พร้อมการแยกค่าประจำหลัก

อ้างอิงตัวอักษร HTML

รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ

เครื่องสุ่มที่อยู่

สร้างระเบียนคล้ายที่อยู่ 1–20 รายการสำหรับแบบจำลองและการทดสอบ ด้วยรูปแบบประเทศแบบย่อ

ตัวตรวจสอบ OpenAPI

วางเอกสาร OpenAPI หรือ Swagger แบบ JSON หรือ YAML แล้วตรวจโครงสร้างหลัก: ฟิลด์เวอร์ชัน ออบเจกต์ info และ paths พร้อมข้อผิดพลาดและคำเตือนที่ชัดเจน

ตัวแปลง Timestamp

แปลง timestamp ของ Unix ในหน่วยวินาทีหรือมิลลิวินาทีเป็นวันที่ที่อ่านง่ายในเขตเวลา UTC และเขตเวลาหลัก และแปลงวันที่กลับเป็นค่า epoch

เครื่องมือนี้มีให้บริการในภาษาอื่น