ข้ามไปยังเนื้อหาหลัก
#drizzle#postgresql#orm#typescript#database

คู่มือการใช้ Drizzle ORM กับ PostgreSQL ฉบับสมบูรณ์

Drizzle ORM คือ Type-safe ORM สำหรับ TypeScript ที่ให้คุณเขียน schema เป็น TypeScript โดยตรง บทความนี้ครอบคลุมตั้งแต่การตั้งค่าจนถึงการเขียน query ขั้นสูง

คู่มือการใช้ Drizzle ORM กับ PostgreSQL ฉบับสมบูรณ์

Drizzle ORM คืออะไร?

Drizzle ORM เป็นเครื่องมือที่ช่วยให้คุณทำงานกับ database ได้อย่าง type-safe โดยไม่ต้องเขียน SQL เอง แต่ยังคง control ได้เต็มที่

การกำหนด Schema

import { pgTable, uuid, text, timestamp } from 'drizzle-orm/pg-core'

export const users = pgTable('users', {
  id: uuid('id').primaryKey().defaultRandom(),
  name: text('name').notNull(),
  email: text('email').notNull().unique(),
  createdAt: timestamp('created_at').defaultNow().notNull(),
})

การ Query ข้อมูล

// Select
const allUsers = await db.select().from(users)

// Insert
const newUser = await db.insert(users).values({
  name: 'สมชาย',
  email: 'somchai@example.com',
}).returning()

// Update
await db.update(users)
  .set({ name: 'สมหญิง' })
  .where(eq(users.id, userId))

Migration

Drizzle มี CLI สำหรับสร้างและรัน migration ได้ง่ายมาก

bunx drizzle-kit generate
bunx drizzle-kit migrate