λ¨Όμ Drizzle μμνκΈ° λ° λ§μ΄κ·Έλ μ΄μ κΈ°μ΄λ₯Ό μ΄ν΄λ³΄κ³ λΉμ¦λμ€ μꡬμ¬νμ κ°μ₯ μ ν©ν SQL λ§μ΄κ·Έλ μ΄μ νλ¦μ μ ννμκΈ° λ°λλλ€.
Drizzle Kitμ μ¬μ©ν λ§μ΄κ·Έλ μ΄μ
- Drizzle λ°
drizzle-kitμμνκΈ° - μ¬κΈ°μμ μ½κΈ° - Drizzle μ€ν€λ§ κΈ°μ΄ - μ¬κΈ°μμ μ½κΈ°
- λ°μ΄ν°λ² μ΄μ€ μ°κ²° κΈ°μ΄ - μ¬κΈ°μμ μ½κΈ°
- Drizzle λ§μ΄κ·Έλ μ΄μ κΈ°μ΄ - μ¬κΈ°μμ μ½κΈ°
Drizzle Kitμ Drizzleλ‘ SQL λ°μ΄ν°λ² μ΄μ€ λ§μ΄κ·Έλ μ΄μ μ κ΄λ¦¬νκΈ° μν CLI λꡬμ λλ€.
npm i -D drizzle-kit
Drizzle Kitμ μ€ν€λ§λ₯Ό κΈ°λ°μΌλ‘ SQL λ§μ΄κ·Έλ μ΄μ νμΌμ μμ±νκ³ μ€ννλ©°, λ°μ΄ν°λ² μ΄μ€μ μ§μ μ€ν€λ§λ₯Ό νΈμνκ³ , λ°μ΄ν°λ² μ΄μ€μμ μ€ν€λ§λ₯Ό κ°μ Έμ€λ©°, drizzle studioλ₯Ό μ€ννκ³ , λͺ κ°μ§ μ νΈλ¦¬ν° λͺ λ Ήμ΄λ₯Ό μ 곡ν©λλ€.
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 | λ°μ΄ν°λ² μ΄μ€ μ€ν€λ§λ₯Ό κ°μ Έμ€κ³ (introspect), 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 config file
β π package.json
β π tsconfig.jsonimport { defineConfig } from "drizzle-kit";
export default defineConfig({
dialect: "postgresql",
schema: "./src/schema.ts",
});CLI λ§€κ°λ³μλ₯Ό ν΅ν΄ Drizzle Kit μ€μ κ²½λ‘λ₯Ό μ 곡ν μ μμ΅λλ€. μ΄λ μ¬λ¬ λ°μ΄ν°λ² μ΄μ€ μ€ν μ΄μ§ λλ μ¬λ¬ λ°μ΄ν°λ² μ΄μ€, λλ λμΌν νλ‘μ νΈμμ λ€λ₯Έ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ¬μ©ν λ λ§€μ° μ μ©ν©λλ€:
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