먼저 Drizzle 시작하기와 마이그레이션 기초를 읽고 비즈니스 요구사항에 가장 적합한 SQL 마이그레이션 플로우를 선택하세요.
Drizzle Kit을 이용한 마이그레이션
This guide assumes familiarity with:
Drizzle Kit은 Drizzle과 함께 SQL 데이터베이스 마이그레이션을 관리하는 CLI 도구입니다.
npm
yarn
pnpm
bun
npm i -D drizzle-kit
IMPORTANT
Drizzle Kit은 스키마를 기반으로 SQL 마이그레이션 파일을 생성하고 실행하며, 스키마를 데이터베이스에 직접 푸시하고, 데이터베이스에서 스키마를 풀하며, Drizzle Studio를 실행하는 등 여러 유틸리티 명령을 제공합니다.
npm
yarn
pnpm
bun
npx drizzle-kit generate
npx drizzle-kit migrate
npx drizzle-kit push
npx drizzle-kit pull
npx drizzle-kit check
npx drizzle-kit up
npx drizzle-kit studio
drizzle-kit generate | Drizzle 스키마를 기반으로 선언 시점 또는 후속 변경 시점에 SQL 마이그레이션 파일을 생성합니다, 여기서 확인. |
drizzle-kit migrate | 생성된 SQL 마이그레이션 파일을 데이터베이스에 적용합니다, 여기서 확인. |
drizzle-kit pull | 데이터베이스 스키마를 풀(인트로스펙션)하여 Drizzle 스키마로 변환하고 코드베이스에 저장합니다, 여기서 확인 |
drizzle-kit push | Drizzle 스키마를 선언 시점 또는 후속 스키마 변경 시점에 데이터베이스로 푸시합니다, 여기서 확인 |
drizzle-kit studio | 데이터베이스에 연결하고 Drizzle Studio용 프록시 서버를 실행하여 편리한 데이터베이스 탐색을 제공합니다, 여기서 확인 |
drizzle-kit check | 생성된 모든 마이그레이션을 검토하여 마이그레이션 간 경쟁 조건(충돌)을 확인합니다, 여기서 확인 |
drizzle-kit up | 이전에 생성된 마이그레이션의 스냅샷을 업그레이드하는 데 사용됩니다, 여기서 확인 |
Drizzle Kit은 drizzle.config.ts 설정 파일이나 CLI 파라미터를 통해 구성됩니다.
Drizzle Kit이 마이그레이션을 생성하려면 최소한 SQL dialect와 schema 경로를 제공해야 합니다.
📦 <project root>
├ 📂 drizzle
├ 📂 src
├ 📜 .env
├ 📜 drizzle.config.ts <--- Drizzle 설정 파일
├ 📜 package.json
└ 📜 tsconfig.jsonsimple config
extended config
import { defineConfig } from "drizzle-kit";
export default defineConfig({
dialect: "postgresql",
schema: "./src/schema.ts",
});CLI 파라미터를 통해 Drizzle Kit 설정 파일 경로를 지정할 수 있습니다. 이는 여러 데이터베이스 단계가 있거나, 여러 데이터베이스를 사용하거나, 동일한 프로젝트에서 다른 데이터베이스를 사용할 때 매우 유용합니다:
npm
yarn
pnpm
bun
npx drizzle-kit push --config=drizzle-dev.drizzle.config
npx drizzle-kit push --config=drizzle-prod.drizzle.config
📦 <project root>
├ 📂 drizzle
├ 📂 src
├ 📜 .env
├ 📜 drizzle-dev.config.ts
├ 📜 drizzle-prod.config.ts
├ 📜 package.json
└ 📜 tsconfig.json