Drizzle <> Vercel Postgres
- Drizzle์ ์ฌ์ฉํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ๊ธฐ์ด
- Vercel Postgres ๋ฐ์ดํฐ๋ฒ ์ด์ค - ์น์ฌ์ดํธ
- Vercel Postgres ๋๋ผ์ด๋ฒ - ๋ฌธ์ & GitHub
- Drizzle PostgreSQL ๋๋ผ์ด๋ฒ - ๋ฌธ์
**๊ณต์ ์น์ฌ์ดํธ**์ ๋ฐ๋ฅด๋ฉด, Vercel Postgres๋ Vercel Functions์ ํตํฉ๋๋๋ก ์ค๊ณ๋ ์๋ฒ๋ฆฌ์ค SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค.
Drizzle ORM์ drizzle-orm/vercel-postgres ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ @vercel/postgres ์๋ฒ๋ฆฌ์ค ๋๋ผ์ด๋ฒ์ postgesql://์ ํตํด Vercel Postgres์ ์ ๊ทผํ๋ postgres ๋๋ pg ๋๋ผ์ด๋ฒ๋ฅผ ๋ชจ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํฉ๋๋ค.
๊ณต์ Vercel Postgres + Drizzle ๋ฌธ์๋ฅผ ํ์ธํ์ธ์.
1๋จ๊ณ - ํจํค์ง ์ค์น
npm i drizzle-orm @vercel/postgres
npm i -D drizzle-kit
2๋จ๊ณ - Vercel Postgres ์ค๋น
**๊ณต์ ๋ฌธ์**์ ๋ฐ๋ผ ํ๋ก์ ํธ๋ฅผ ์ค์ ํ์ธ์.
3๋จ๊ณ - ๋๋ผ์ด๋ฒ ์ด๊ธฐํ ๋ฐ ์ฟผ๋ฆฌ ์คํ
import { drizzle } from 'drizzle-orm/vercel-postgres';
const db = drizzle();
const result = await db.execute('select 1');๊ธฐ์กด ๋๋ผ์ด๋ฒ๋ฅผ ์ ๊ณตํด์ผ ํ๋ ๊ฒฝ์ฐ:
import { sql } from '@vercel/postgres';
import { drizzle } from 'drizzle-orm/vercel-postgres';
const db = drizzle({ client: sql })
const result = await db.execute('select 1');@vercel/postgres ์๋ฒ๋ฆฌ์ค ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ฉด TCP๋ฅผ ์ฌ์ฉํ ์ ์๋ ์๋ฒํ ๋๋ ์๋ฒ๋ฆฌ์ค ํ๊ฒฝ(์: Cloudflare Workers)์์ ์น์์ผ์ ํตํด Vercel Postgres์ ์ ๊ทผํ ์ ์์ต๋๋ค.
์๋ฒํ ํ๊ฒฝ์์ Vercel Postgres๋ฅผ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ, @vercel/postgres๋ฅผ ์ฌ์ฉํ๊ฑฐ๋
postgres ๋๋ **pg**๋ฅผ ํตํด postgesql://๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ง์ ์ ๊ทผํ ์ ์์ต๋๋ค.