Drizzle <> TiDB Serverless

This guide assumes familiarity with:

**๊ณต์‹ ์›น์‚ฌ์ดํŠธ**์— ๋”ฐ๋ฅด๋ฉด, TiDB Serverless๋Š” ์ˆœ๊ฐ„์ ์ธ ํด๋Ÿฌ์Šคํ„ฐ ํ”„๋กœ๋น„์ €๋‹๊ณผ ์‚ฌ์šฉ๋Ÿ‰ ๊ธฐ๋ฐ˜ ๊ฐ€๊ฒฉ ์ฑ…์ •์„ ์ œ๊ณตํ•˜๋Š” ์™„์ „ ๊ด€๋ฆฌํ˜• ์ž์œจ DBaaS์ž…๋‹ˆ๋‹ค.

TiDB Serverless๋Š” MySQL๊ณผ ํ˜ธํ™˜๋˜๋ฏ€๋กœ MySQL ์—ฐ๊ฒฐ ๊ฐ€์ด๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

TiDB Serverless๋Š” ์—ฃ์ง€ ํ™˜๊ฒฝ์„ ์œ„ํ•œ HTTP ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” drizzle-orm/tidb-serverless ํŒจํ‚ค์ง€๋ฅผ ํ†ตํ•ด Drizzle ORM์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

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

npm
yarn
pnpm
bun
npm i drizzle-orm @tidbcloud/serverless
npm i -D drizzle-kit

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

index.ts
import { drizzle } from 'drizzle-orm/tidb-serverless';

const db = drizzle({ connection: { url: process.env.TIDB_URL }});

const response = await db.select().from(...)

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

import { connect } from '@tidbcloud/serverless';
import { drizzle } from 'drizzle-orm/tidb-serverless';

const client = connect({ url: process.env.TIDB_URL });
const db = drizzle({ client });

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