Drizzle <> Xata

This guide assumes familiarity with:

**Xata**๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ํ–ฅ์ƒ๋œ ์ƒ์‚ฐ์„ฑ๊ณผ ์„ฑ๋Šฅ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์šด์˜ํ•˜๊ณ  ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋œ PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. Xata๋Š” ์ฆ‰๊ฐ์ ์ธ copy-on-write ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ธŒ๋žœ์น˜, ๋ฌด์ค‘๋‹จ ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ, ๋ฐ์ดํ„ฐ ์ต๋ช…ํ™”, AI ๊ธฐ๋ฐ˜ ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ BYOC์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ณต์‹ Xata + Drizzle ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

1๋‹จ๊ณ„ - ํŒจํ‚ค์ง€ ์„ค์น˜

npm
yarn
pnpm
bun
npm i drizzle-orm postgres
npm i -D drizzle-kit

2๋‹จ๊ณ„ - ๋“œ๋ผ์ด๋ฒ„ ์ดˆ๊ธฐํ™” ๋ฐ ์ฟผ๋ฆฌ ์‹คํ–‰

index.ts
import { drizzle } from 'drizzle-orm/postgres-js'

const db = drizzle(process.env.DATABASE_URL);

const allUsers = await db.select().from(...);

๊ธฐ์กด ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ:

index.ts
import { drizzle } from 'drizzle-orm/postgres-js'
import postgres from 'postgres'

const client = postgres(process.env.DATABASE_URL)
const db = drizzle({ client });

const allUsers = await db.select().from(...);

๋‹ค์Œ ๋‹จ๊ณ„๋Š”?