SQL to Prisma Converter: แปลง CREATE TABLE เป็น Prisma Schema ในไม่กี่วินาที
แปลง SQL DDL (MySQL, PostgreSQL, SQLite) ให้เป็น Prisma schema models ด้วย SQL to Prisma Converter — รองรับ type mapping, primary key, default, unique constraint และ relation detection ทำงานในเบราว์เซอร์ฟรี 100%
Table of Contents
SQL to Prisma Converter: แปลง CREATE TABLE เป็น Prisma Schema ในไม่กี่วินาที
ถ้าคุณเคยเริ่มโปรเจกต์ใหม่ด้วย Prisma แล้วต้องนั่งพิมพ์ schema.prisma ทีละ field จาก SQL DDL ที่มีอยู่แล้ว คุณคงรู้ดีว่ามันน่าเบื่อแค่ไหน — ต้องแปลง type เอง จำ attribute เอง และถ้าลืม @id หรือ @relation ปุ๊บ build พังทันที ปัญหานี้จบแล้วด้วย SQL to Prisma Converter ฟรีจาก Online Tools Forge
ตัว tool นี้อ่าน CREATE TABLE จาก MySQL, PostgreSQL และ SQLite แล้วสร้าง Prisma model ให้ทันที พร้อมแปลง SQL type เป็น Prisma type, ตรวจจับ primary key, unique constraint, default value และ foreign key ทั้งหมดทำงานในเบราว์เซอร์ 100% — ไม่มี upload ไปเซิร์ฟเวอร์ ไม่มี signup
บทความนี้จะพาดูว่า converter ตัวนี้ทำอะไรได้บ้าง ใช้งานอย่างไร และ type mapping ทำงานแบบไหน
ทำไมต้องใช้ SQL to Prisma Converter?
- ประหยัดเวลาคุ้มค่าที่สุด: schema 10 ตารางที่นั่งพิมพ์เองได้ครึ่งชั่วโมง ใช้ converter เสร็จในไม่กี่วินาที
- ลด human error: ตัว tool จับ @id, @unique, @default, @relation ให้ครบจาก DDL โดยตรง ไม่ต้องเช็กเองทีละ column
- ไม่ต้องส่ง schema ออกนอกเครื่อง: ทำงาน client-side ล้วน ๆ เหมาะกับ proprietary schema ของบริษัท ที่ห้ามวางลงเว็บอื่น
- รองรับหลาย dialect: MySQL (AUTO_INCREMENT), PostgreSQL (SERIAL, JSONB), SQLite (AUTOINCREMENT) ใช้ input เดียว
- ฟรี ไม่มีข้อจำกัด: ไม่มี signup, ไม่มี watermarks, ไม่จำกัดจำนวนครั้ง
- Workflow-friendly: มีปุ่ม copy to clipboard และ download เป็น schema.prisma นำไปวางในโปรเจกต์ต่อได้ทันที
Key Features
| Feature | คำอธิบาย |
|---|---|
| DDL Parsing | อ่าน CREATE TABLE จาก MySQL, PostgreSQL, SQLite ได้ใน input เดียว หลายตารางต่อครั้ง |
| SQL Type Mapping | แปลง INT, VARCHAR, TIMESTAMP, JSONB ฯลฯ เป็น Int, String, DateTime, Json |
| Key Detection | PRIMARY KEY → @id, UNIQUE → @unique อัตโนมัติ |
| Default Values | AUTO_INCREMENT → @default(autoincrement()), CURRENT_TIMESTAMP → @default(now()) |
| Relation Detection | จับ FOREIGN KEY ... REFERENCES แล้วสร้าง @relation สองด้านพร้อม fields/references ครบ |
| Naming Conversion | ชื่อ column → camelCase, ชื่อ table → PascalCase model อัตโนมัติ |
| Copy & Download | คัดลอกผลลัพธ์หรือดาวน์โหลดเป็นไฟล์ schema.prisma ได้ทันที |
ด้านล่างนี้คือจุดที่เด่นที่สุดสามข้อ:
- Relation ที่ถูกต้องสองด้าน: เมื่อเจอ foreign key tool จะสร้าง many-to-one field ฝั่งต้นทาง และ one-to-many list field ฝั่งปลายทาง พร้อม @relation(fields: [...], references: [...]) ที่ build ผ่านทันที
- Nullable อัตโนมัติ: column ที่ไม่มี NOT NULL จะกลายเป็น optional field (?) ใน Prisma ตาม semantic จริงของ database
- ใช้ offline ได้: หลังโหลดหน้าเว็บแล้ว tool ทำงานได้แม้ไม่มีอินเทอร์เน็ต เพราะทุกอย่างรันในเบราว์เซอร์
วิธีใช้งาน (How to Use)
- เปิดหน้า SQL to Prisma Converter
- Paste SQL DDL ลงใน input area (หรือกดปุ่มโหลดตัวอย่าง SQL ที่มีให้)
- กด Convert — Prisma schema จะปรากฏทางขวาทันที
- ตรวจสอบ type, @id, @default, @relation และ optional fields ตามต้องการ
- กด Copy เพื่อคัดลอก หรือ Download เพื่อรับไฟล์ schema.prisma ไปใส่ในโปรเจกต์
Understanding the SQL-to-Prisma Type Mapping
หัวใจของ converter คือ type mapping ระหว่าง SQL กับ Prisma ตารางนี้คือ mapping ที่ tool ใช้จริง:
| SQL Type | Prisma Type |
|---|---|
| BIGINT, BIGSERIAL, INT8, SERIAL8 | BigInt |
| INT, INTEGER, SMALLINT, TINYINT, MEDIUMINT, SERIAL | Int |
| DECIMAL, NUMERIC, MONEY | Decimal |
| REAL, FLOAT, DOUBLE PRECISION | Float |
| BOOL, BOOLEAN | Boolean |
| DATE, DATETIME, TIMESTAMP, TIMESTAMPTZ, TIME | DateTime |
| JSON, JSONB | Json |
| BLOB, BINARY, VARBINARY, BYTEA, IMAGE | Bytes |
| อื่น ๆ ที่ไม่เข้าพวก | String (fallback) |
รายละเอียดที่ควรรู้เพิ่ม:
- Prefix matching: tool จับ type แบบ prefix เช่น VARCHAR(255) และ VARBINARY(100) จับคู่ให้ถูกกลุ่มโดยไม่ต้องพิมพ์ exact type
- Fallback เป็น String: type แปลก ๆ อย่าง ENUM หรือ custom type จะกลายเป็น String ซึ่งปลอดภัยที่สุด — ปรับเป็น Prisma enum เองได้หลัง generate
- Naming อัตโนมัติ: user_id กลายเป็น userId, ตาราง blog_posts กลายเป็น model BlogPosts (แล้วไปเติม @@map เองได้ถ้าต้องการ exact table name)
Practical Use Cases
Migrating a Legacy Database to Prisma
ทีมที่มี database เก่าอายุหลายปีกำลังจะย้ายมาใช้ Prisma ORM — dump DDL จาก mysqldump --no-data หรือ pg_dump --schema-only แล้ว paste เข้า tool ได้ทั้ง 30 ตารางในครั้งเดียว จากนั้นค่อยเก็บรายละเอียดเล็ก ๆ น้อย ๆ เอง
Bootstrapping a New Project from a SQL Design
บางทีทีมออกแบบ schema ใน SQL ก่อนแล้วค่อยเขียน app — วาดตารางเสร็จ แปลงเป็น Prisma ทันที ไม่ต้องถือ double source of truth ระหว่าง .sql กับ schema.prisma
Switching Databases Without Rewriting Models
มี DDL จาก PostgreSQL แต่จะใช้ MySQL ใน production — Prisma schema ที่ได้จะเป็น dialect-neutral อยู่แล้ว เพราะ Prisma คือ abstraction layer ทับ SQL
Learning Prisma with Fast Feedback
คนที่เพิ่งหัดใช้ Prisma สามารถเขียน CREATE TABLE ที่คุ้นเคย แล้วดูว่า tool แปลงเป็น @id, @unique, @relation ยังไง — เป็น both-way learning tool ที่เร็วกว่าอ่าน docs
Best Practices
- ตรวจ output ก่อนใช้จริง: converter เก่งแต่ไม่ใช่เวทมนตร์ — เช็ก edge case อย่าง composite key หรือ check constraint ที่ต้องปรับมือ
- ใช้ @@map เมื่อ naming สำคัญ: ถ้า table ชื่อ user_accounts แต่ต้องการ model UserAccount ให้เติม @@map("user_accounts") เองหลัง generate
- ปรับ enum เอง: SQL ENUM จะ fallback เป็น String — แปลงเป็น Prisma enum block เพื่อ type safety ที่ดีกว่า
- รัน prisma format + prisma validate: หลังวาง schema ลงโปรเจกต์ สอง command นี้จับ syntax และ relation error ที่เหลือทันที
- เก็บ DDL ต้นฉบับไว้: เวลา re-generate หลัง schema เปลี่ยน จะได้ input เดิมที่ reproduce ผลได้
- อย่าลืม @@index: converter สร้าง model กับ relation ให้ แต่ index เสริมสำหรับ query performance ต้องเติมเอง
พร้อมแปลง Schema แล้วหรือยัง?
อย่าเสียเวลาพิมพ์ schema.prisma ทีละบรรทัดอีกต่อไป ลอง SQL to Prisma Converter ฟรี — paste DDL ปุ๊บ ได้ model ปั๊บ ทำงานในเบราว์เซอร์ 100% ข้อมูลไม่ออกจากเครื่องคุณ
Related Tools You Might Like:
- SQL to MongoDB Converter — แปลง SQL schema เป็น Mongoose models
- SQL Schema Visualizer — ดูโครงสร้าง database เป็น diagram
- SQL Formatter — จัดระเบียบ SQL ให้อ่านง่ายก่อนแปลง
ประสบการณ์ในการ convert schema ที่ดีเริ่มต้นที่ tool ที่ใช่ — Happy converting!
คำถามที่พบบ่อย
ถ: SQL to Prisma Converter ใช้ฟรีจริงไหม?
ตอบ: ฟรี 100% ไม่มี signup ไม่มี watermark ไม่จำกัดจำนวนครั้ง ใช้กี่ตารางก็ได้
ถ: ข้อมูล SQL ของฉันถูกอัปโหลดไปเซิร์ฟเวอร์ไหม?
ตอบ: ไม่ — tool ทำงานในเบราว์เซอร์ล้วน ๆ (client-side) ข้อมูลไม่ออกจากเครื่อง
ถ: รองรับ SQL จาก database อะไรบ้าง?
ตอบ: MySQL, PostgreSQL และ SQLite รวมถึง DDL ทั่วไปที่ใช้ syntax คล้ายกัน
ถ: ถ้า DDL มีหลายตารางและมี foreign key ต้องแปลงทีละตารางไหม?
ตอบ: ไม่ต้อง — paste ทั้งก้อนได้เลย tool จะ parse ทุก CREATE TABLE และสร้าง @relation สองด้านให้ครบอัตโนมัติ
ถ: ENUM ใน SQL กลายเป็นอะไรใน Prisma?
ตอบ: ตอนนี้ fallback เป็น String — แนะนำให้แปลงเป็น Prisma enum block เอาหลัง generate เพื่อ type safety ที่ดีกว่า