Supabase (PostgreSQL)
Supabase เป็น PostgreSQL database ฟรี ที่ใช้งานง่าย เหมาะสำหรับโปรเจคขนาดเล็กถึงกลาง
⚠️ หมายเหตุ: บทนี้สำหรับ Local Development เท่านั้น
ถ้าใช้ GitHub Codespaces ไม่ต้องตั้งค่า Supabase เพราะมี PostgreSQL ในตัวอยู่แล้ว
ขั้นตอนที่ 1: สร้าง Supabase Account และ Project
- เข้าไปที่ supabase.com แล้ว Sign up (ใช้ GitHub account ได้)
- ในหน้า Projects คลิก New project

- กรอกข้อมูล:
- Project name — ตั้งชื่อโปรเจค (เช่น “vibe-coding”)
- Database password — ใช้ Generate password หรือตั้งเอง (จดไว้!)
- Region — เลือก Southeast Asia (Singapore) สำหรับผู้ใช้ในไทย

- คลิก Create new project แล้วรอสักครู่
ขั้นตอนที่ 2: รับ Connection String
หลังจาก project พร้อมใช้งาน:

- คลิกปุ่ม Connect ที่มุมขวาบน

- เลือก tab ORMs (1) > เลือก Prisma (2)
- คุณจะเห็น connection strings สำหรับ Prisma (3)

ความแตกต่างระหว่าง DATABASE_URL และ DIRECT_URL
| ค่า | Port | ใช้สำหรับ |
|---|---|---|
DATABASE_URL | 6543 | App runtime (connection pooling) |
DIRECT_URL | 5432 | Prisma migrations (prisma db push) |
💡 ทำไมต้องมี 2 URL?
- DATABASE_URL (port 6543) — ใช้ connection pooling เพื่อรองรับหลาย connections พร้อมกัน เหมาะสำหรับ app ที่ทำงานอยู่
- DIRECT_URL (port 5432) — เชื่อมต่อตรงกับ database สำหรับ migration commands ที่ต้องการ exclusive access
ขั้นตอนที่ 3: นำไปใช้ใน npm run setup
เมื่อรัน npm run setup จะถูกถามค่า:
- DATABASE_URL — copy ค่าที่ขึ้นต้นด้วย
postgresql://...และลงท้ายด้วย:6543/postgres?pgbouncer=true - DIRECT_URL — copy ค่าที่ลงท้ายด้วย
:5432/postgres
⚠️ อย่าลืมแทนที่
[YOUR-PASSWORD]ด้วย password ที่ตั้งไว้ตอนสร้าง project
สรุป
| ขั้นตอน | สิ่งที่ต้องทำ |
|---|---|
| 1. สร้าง Project | ตั้งชื่อ, password, เลือก Region: Singapore |
| 2. รับ Connection String | คลิก Connect > ORMs > Prisma |
| 3. ใช้ใน setup | แทนที่ password แล้ว copy ไปใน npm run setup |