Drizzle <> Bun SQLite
This guide assumes familiarity with:
- Drizzle์ ์ฌ์ฉํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ๊ธฐ์ด
- Bun - ์น์ฌ์ดํธ
- Bun SQLite ๋๋ผ์ด๋ฒ - ๋ฌธ์
**๊ณต์ ์น์ฌ์ดํธ**์ ๋ฐ๋ฅด๋ฉด, Bun์ ๋น ๋ฅธ ์ฌ์ธ์ JavaScript ๋ฐํ์์ ๋๋ค.
Drizzle ORM์ bun:sqlite ๋ชจ๋์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํ๋ฉฐ ์์ฒญ๋๊ฒ ๋น ๋ฆ
๋๋ค ๐
์ฐ๋ฆฌ๋ SQL ๋ฐฉ์ธ๊ณผ ๋ฐฉ์ธ๋ณ ๋๋ผ์ด๋ฒ ๋ฐ ๊ตฌ๋ฌธ์ ์์ฉํ๋ฉฐ ๋ค๋ฅธ ORM๊ณผ ๋ฌ๋ฆฌ
bun:sqlite์ ๊ฐ์ ๋๊ธฐ ๋๋ผ์ด๋ฒ์ ๊ฒฝ์ฐ async์ sync API๋ฅผ ๋ชจ๋ ์ ๊ณตํ๊ณ ๊ฐ์ฅ ์ธ๊ธฐ ์๋
SQLite์ ์ ์ฌํ all, get, values ๋ฐ run ์ฟผ๋ฆฌ ๋ฉ์๋ ๊ตฌ๋ฌธ์ ๋ฐ์ํฉ๋๋ค.
1๋จ๊ณ - ํจํค์ง ์ค์น
npm
yarn
pnpm
bun
npm i drizzle-orm
npm i -D drizzle-kit
2๋จ๊ณ - ๋๋ผ์ด๋ฒ ์ด๊ธฐํ ๋ฐ ์ฟผ๋ฆฌ ์คํ
import { drizzle } from 'drizzle-orm/bun-sqlite';
const db = drizzle();
const result = await db.select().from(...);๊ธฐ์กด ๋๋ผ์ด๋ฒ๋ฅผ ์ ๊ณตํด์ผ ํ๋ ๊ฒฝ์ฐ:
import { drizzle } from 'drizzle-orm/bun-sqlite';
import { Database } from 'bun:sqlite';
const sqlite = new Database('sqlite.db');
const db = drizzle({ client: sqlite });
const result = await db.select().from(...);๋๊ธฐ(sync) API๋ฅผ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ:
import { drizzle } from 'drizzle-orm/bun-sqlite';
import { Database } from 'bun:sqlite';
const sqlite = new Database('sqlite.db');
const db = drizzle({ client: sqlite });
const result = db.select().from(users).all();
const result = db.select().from(users).get();
const result = db.select().from(users).values();
const result = db.select().from(users).run();