Supabase (PostgreSQL)

Supabase เป็น PostgreSQL database ฟรี ที่ใช้งานง่าย เหมาะสำหรับโปรเจคขนาดเล็กถึงกลาง

⚠️ หมายเหตุ: บทนี้สำหรับ Local Development เท่านั้น

ถ้าใช้ GitHub Codespaces ไม่ต้องตั้งค่า Supabase เพราะมี PostgreSQL ในตัวอยู่แล้ว


ขั้นตอนที่ 1: สร้าง Supabase Account และ Project

  1. เข้าไปที่ supabase.com แล้ว Sign up (ใช้ GitHub account ได้)
  2. ในหน้า Projects คลิก New project
  1. กรอกข้อมูล:
    • Project name — ตั้งชื่อโปรเจค (เช่น “vibe-coding”)
    • Database password — ใช้ Generate password หรือตั้งเอง (จดไว้!)
    • Region — เลือก Southeast Asia (Singapore) สำหรับผู้ใช้ในไทย
  1. คลิก Create new project แล้วรอสักครู่

ขั้นตอนที่ 2: รับ Connection String

หลังจาก project พร้อมใช้งาน:

  1. คลิกปุ่ม Connect ที่มุมขวาบน
  1. เลือก tab ORMs (1) > เลือก Prisma (2)
  2. คุณจะเห็น connection strings สำหรับ Prisma (3)

ความแตกต่างระหว่าง DATABASE_URL และ DIRECT_URL

ค่าPortใช้สำหรับ
DATABASE_URL6543App runtime (connection pooling)
DIRECT_URL5432Prisma 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 จะถูกถามค่า:

  1. DATABASE_URL — copy ค่าที่ขึ้นต้นด้วย postgresql://... และลงท้ายด้วย :6543/postgres?pgbouncer=true
  2. 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