Drizzle <> Bun SQLite

This guide assumes familiarity with:

**๊ณต์‹ ์›น์‚ฌ์ดํŠธ**์— ๋”ฐ๋ฅด๋ฉด, 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();

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