Xata
New database
Meet Drizzle
Get started
Drizzleμ Xata μμνκΈ°
This guide assumes familiarity with:
κΈ°λ³Έ νμΌ κ΅¬μ‘°
μ΄ νλ‘μ νΈμ κΈ°λ³Έ νμΌ κ΅¬μ‘°μ
λλ€. src/db
λλ ν 리 μμλ schema.ts
νμΌμ ν
μ΄λΈ μ μκ° μμ΅λλ€. drizzle
ν΄λμλ SQL λ§μ΄κ·Έλ μ΄μ
νμΌκ³Ό μ€λ
μ·μ΄ μμ΅λλ€.
1λ¨κ³ - @xata.io/client ν¨ν€μ§ μ€μΉ
2λ¨κ³ - μ°κ²° λ³μ μ€μ
νλ‘μ νΈ λ£¨νΈ λλ ν 리μ .env
νμΌμ μμ±νκ³ λ°μ΄ν°λ² μ΄μ€ μ°κ²° λ³μλ₯Ό μΆκ°νμΈμ:
3λ¨κ³ - Xata ν΄λΌμ΄μΈνΈ μμ±νκΈ°
Xata ν΄λΌμ΄μΈνΈλ₯Ό μμ±νλ €λ©΄ Xata 곡μ λ¬Έμλ₯Ό μ°Έκ³ νμΈμ.
4λ¨κ³ - Drizzle ORMμ λ°μ΄ν°λ² μ΄μ€μ μ°κ²°νκΈ°
src/db
λλ ν 리μ index.ts
νμΌμ μμ±νκ³ λ°μ΄ν°λ² μ΄μ€ μ°κ²°μ μ΄κΈ°ννλ μ½λλ₯Ό μμ±ν΄ λ³΄κ² μ΅λλ€.
5λ¨κ³ - ν
μ΄λΈ μμ±
src/db
λλ ν 리μ schema.ts
νμΌμ μμ±νκ³ ν
μ΄λΈμ μ μΈν΄ λ³΄κ² μ΅λλ€.
6λ¨κ³ - Drizzle μ€μ νμΌ μ€μ νκΈ°
Drizzle μ€μ νμΌ - Drizzle Kitμμ μ¬μ©νλ μ€μ νμΌλ‘, λ°μ΄ν°λ² μ΄μ€ μ°κ²° μ 보, λ§μ΄κ·Έλ μ΄μ
ν΄λ, μ€ν€λ§ νμΌ λ± λͺ¨λ μ 보λ₯Ό ν¬ν¨ν©λλ€.
νλ‘μ νΈ λ£¨νΈμ drizzle.config.ts
νμΌμ μμ±νκ³ λ€μ λ΄μ©μ μΆκ°νμΈμ:
7λ¨κ³ - λ°μ΄ν°λ² μ΄μ€μ λ³κ²½ μ¬ν μ μ©νκΈ°
drizzle-kit push
컀맨λλ₯Ό μ¬μ©νλ©΄ λ°μ΄ν°λ² μ΄μ€μ μ§μ λ³κ²½ μ¬νμ μ μ©ν μ μμ΅λλ€. μ΄ λ°©λ²μ λ‘컬 κ°λ° νκ²½μμ μλ‘μ΄ μ€ν€λ§ λμμΈμ΄λ μμ μ¬νμ λΉ λ₯΄κ² ν
μ€νΈν λ μ μ©ν©λλ€. λ§μ΄κ·Έλ μ΄μ
νμΌμ κ΄λ¦¬ν νμ μμ΄ λΉ λ₯΄κ² λ°λ³΅ μμ
μ μ§νν μ μμ΅λλ€:
push
컀맨λμ λν΄ λ μμλ³΄λ €λ©΄ λ¬Έμλ₯Ό μ°Έκ³ νμΈμ.
ν
λλ drizzle-kit generate
컀맨λλ‘ λ§μ΄κ·Έλ μ΄μ
μ μμ±ν ν, drizzle-kit migrate
컀맨λλ‘ μ μ©ν μλ μμ΅λλ€:
λ§μ΄κ·Έλ μ΄μ
μμ±:
λ§μ΄κ·Έλ μ΄μ
μ μ©:
λ§μ΄κ·Έλ μ΄μ
νλ‘μΈμ€μ λν΄ λ μμλ³΄λ €λ©΄ λ¬Έμλ₯Ό μ°Έκ³ νμΈμ.
8λ¨κ³ - λ°μ΄ν°λ² μ΄μ€ μλ λ° μΏΌλ¦¬
src/index.ts
νμΌμ μ¬μ©μ μμ±, μ‘°ν, μμ , μμ μΏΌλ¦¬λ‘ μ
λ°μ΄νΈν΄ λ³΄κ² μ΅λλ€.
9λ¨κ³ - index.ts νμΌ μ€ννκΈ°
TypeScript νμΌμ μ€ννλ λ°©λ²μ μ¬λ¬ κ°μ§κ° μμ§λ§, μ¬κΈ°μλ tsx
λ₯Ό μ¬μ©νλ λ°©λ²μ μ΄ν΄λ³΄κ² μ΅λλ€.
μ΄λ―Έ tsx
λ₯Ό μ€μΉνμΌλ―λ‘, μ΄μ 쿼리λ₯Ό μ€νν μ μμ΅λλ€.
index.ts
μ€ν¬λ¦½νΈ μ€ννκΈ°
ν
TypeScript νμΌμ μ€νν λ bun
μ μ¬μ©νλ κ²μ μΆμ²ν©λλ€. bun
μ μ¬μ©νλ©΄ νλ‘μ νΈκ° CommonJS(CJS), ECMAScript Modules(ESM) λλ λ€λ₯Έ λͺ¨λ νμμΌλ‘ ꡬμ±λμ΄ μλλΌλ μΆκ° μ€μ μμ΄ μ€ν¬λ¦½νΈλ₯Ό μ€νν μ μμ΅λλ€. bun
μΌλ‘ μ€ν¬λ¦½νΈλ₯Ό μ€ννλ €λ©΄ λ€μ λͺ
λ Ήμ΄λ₯Ό μ¬μ©νμΈμ:
λ§μ½ bun
μ΄ μ€μΉλμ΄ μμ§ μλ€λ©΄, Bun μ€μΉ λ¬Έμλ₯Ό μ°Έκ³ νμΈμ.