Drizzle <> AWS Data API Postgres
This guide assumes familiarity with:
- Drizzle๋ฅผ ์ฌ์ฉํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ๊ธฐ๋ณธ ์ฌํญ
- AWS Data API - ์น์ฌ์ดํธ
- AWS SDK - ์น์ฌ์ดํธ
1๋จ๊ณ - ํจํค์ง ์ค์น
npm
yarn
pnpm
bun
npm i drizzle-orm @aws-sdk/client-rds-data
npm i -D drizzle-kit
2๋จ๊ณ - ๋๋ผ์ด๋ฒ ์ด๊ธฐํ ๋ฐ ์ฟผ๋ฆฌ ์คํ
import { drizzle } from 'drizzle-orm/aws-data-api/pg';
// ์ด ์ธ ๊ฐ์ง ์์ฑ์ ํ์์
๋๋ค. connection ๊ฐ์ฒด ๋ด์ RDSDataClient ํ์
์ ๋ชจ๋ ์์ฑ์ ์ง์ ํ ์๋ ์์ต๋๋ค.
const db = drizzle({ connection: {
database: process.env['DATABASE']!,
secretArn: process.env['SECRET_ARN']!,
resourceArn: process.env['RESOURCE_ARN']!,
}});
await db.select().from(...);๊ธฐ์กด ๋๋ผ์ด๋ฒ๋ฅผ ์ ๊ณตํด์ผ ํ๋ ๊ฒฝ์ฐ:
import { drizzle } from 'drizzle-orm/aws-data-api/pg';
import { RDSDataClient } from '@aws-sdk/client-rds-data';
const rdsClient = new RDSDataClient({ region: 'us-east-1' });
const db = drizzle(rdsClient, {
database: process.env['DATABASE']!,
secretArn: process.env['SECRET_ARN']!,
resourceArn: process.env['RESOURCE_ARN']!,
});
await db.select().from(...);