pnpm migrate λͺ
λ Ήμ΄λ₯Ό UIλ‘ λ체ν©λλ€.
Migration ν ꡬ쑰


- μΌμͺ½ Sidebar: λ§μ΄κ·Έλ μ΄μ λͺ©λ‘ (Pending/Applied μνλ³λ‘ κ·Έλ£Ήν)
- μ€λ₯Έμͺ½ Content: μ νν λ§μ΄κ·Έλ μ΄μ μ μμΈ μ 보μ Preview
λ§μ΄κ·Έλ μ΄μ μν νμΈ
Status νμΈ
[Check Status] λ²νΌμ ν΄λ¦νλ©΄ νμ¬ λ§μ΄κ·Έλ μ΄μ μνλ₯Ό νμΈν μ μμ΅λλ€.| μν | μ€λͺ | νμ |
|---|---|---|
| Pending | μμ§ μ μ©λμ§ μμ λ§μ΄κ·Έλ μ΄μ | π λ Έλμ |
| Applied | μ΄λ―Έ μ μ©λ λ§μ΄κ·Έλ μ΄μ | β μ΄λ‘μ |
| Failed | μ€ν μ€ μ€λ₯ λ°μ | β λΉ¨κ°μ |
λ°μ΄ν°λ² μ΄μ€λ³ μν
μ¬λ¬ λ°μ΄ν°λ² μ΄μ€κ° μ€μ λ κ²½μ° κ° DBμ μνλ₯Ό κ°λ³μ μΌλ‘ νμΈν μ μμ΅λλ€:λ§μ΄κ·Έλ μ΄μ μμ±
Entityλ₯Ό μμ νλ©΄ Sonamuκ° μλμΌλ‘ λ§μ΄κ·Έλ μ΄μ μ μμ±ν©λλ€.μλ μμ±λλ κ²½μ°
λ€μκ³Ό κ°μ Entity λ³κ²½μ¬νμ΄ μμ λ:| λ³κ²½ νμ | μμ |
|---|---|
| ν μ΄λΈ μμ± | μ Entity μΆκ° |
| μ»¬λΌ μΆκ° | Property μΆκ° |
| μ»¬λΌ μμ | νμ /κΈΈμ΄ λ³κ²½ |
| μ»¬λΌ μμ | Property μμ |
| μΈλ±μ€ μΆκ° | Index μΆκ° |
| μΈλν€ μΆκ° | belongsTo κ΄κ³ μΆκ° |
λ§μ΄κ·Έλ μ΄μ νμΌ νμΈ
μμ±λ λ§μ΄κ·Έλ μ΄μ νμΌμ ν΄λ¦νλ©΄ λ΄μ©μ 미리 λ³Ό μ μμ΅λλ€:λ§μ΄κ·Έλ μ΄μ μ€ν
λ¨μΌ λ§μ΄κ·Έλ μ΄μ μ€ν
- λ§μ΄κ·Έλ μ΄μ νμΌ μ ν
- [Apply] λ²νΌ ν΄λ¦
- νμΈ λͺ¨λ¬μμ [Confirm] ν΄λ¦
λͺ¨λ Pending λ§μ΄κ·Έλ μ΄μ μ€ν
[Run All] λ²νΌμ ν΄λ¦νλ©΄ λκΈ° μ€μΈ λͺ¨λ λ§μ΄κ·Έλ μ΄μ μ μμλλ‘ μ€νν©λλ€.λ§μ΄κ·Έλ μ΄μ λ‘€λ°±
λ¨μΌ λ‘€λ°±
- Applied μνμ λ§μ΄κ·Έλ μ΄μ μ ν
- [Rollback] λ²νΌ ν΄λ¦
- νμΈ λͺ¨λ¬μμ [Confirm] ν΄λ¦
Migration Preview
λ§μ΄κ·Έλ μ΄μ μ μ€ννκΈ° μ μ μ΄λ€ λ³κ²½μ΄ λ°μν μ§ λ―Έλ¦¬ νμΈν μ μμ΅λλ€.Preview λ΄μ©
- β μΆκ°: μλ‘μ΄ ν μ΄λΈ/컬λΌ/μΈλ±μ€
- π μμ : κΈ°μ‘΄ μ»¬λΌ νμ /κΈΈμ΄ λ³κ²½
- β οΈ μμ : ν μ΄λΈ/μ»¬λΌ μμ (λ°μ΄ν° μμ€ κ°λ₯)
λ€μ€ λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬
Sonamuλ μ¬λ¬ λ°μ΄ν°λ² μ΄μ€λ₯Ό λμμ κ΄λ¦¬ν μ μμ΅λλ€.λ°μ΄ν°λ² μ΄μ€ μ ν
λ§μ΄κ·Έλ μ΄μ μ€ν μ λμ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ νν μ μμ΅λλ€:- βοΈ Development Master
- βοΈ Testing
- β Production (μλ μ ν)
κΈ°λ³Έμ μΌλ‘
_masterλ‘ λλλ λ°μ΄ν°λ² μ΄μ€μ test λ°μ΄ν°λ² μ΄μ€μ μλμΌλ‘ μ μ©λ©λλ€. νλ‘λμ
λ°μ΄ν°λ² μ΄μ€λ λͺ
μμ μΌλ‘ μ νν΄μΌ μ μ©λ©λλ€.λ§μ΄κ·Έλ μ΄μ μμ
λ§μ΄κ·Έλ μ΄μ μ νμΌλͺ μ νμμ€ν¬ν μμλλ‘ μ€νλ©λλ€:μμ λ³κ²½
μμλ₯Ό λ³κ²½ν΄μΌ νλ κ²½μ°:- λ§μ΄κ·Έλ μ΄μ νμΌλͺ μ νμμ€ν¬ν μμ
- νμΌ μμ€ν μμ μ§μ λ³κ²½
- UIμμ μλ‘κ³ μΉ¨
λ¬Έμ ν΄κ²°
λ§μ΄κ·Έλ μ΄μ μ€ν¨
μ¦μ: λ§μ΄κ·Έλ μ΄μ μ€ν μ€ μ€λ₯ λ°μ μμΈ λ° ν΄κ²°:| μ€λ₯ | μμΈ | ν΄κ²° λ°©λ² |
|---|---|---|
| Foreign key constraint | μ°Έμ‘° ν μ΄λΈμ΄ μμ | μ°Έμ‘° ν μ΄λΈμ λ¨Όμ μμ± |
| Column already exists | μ΄λ―Έ μ‘΄μ¬νλ μ»¬λΌ | λ§μ΄κ·Έλ μ΄μ νμΌ νμΈ |
| Cannot drop column | λ°μ΄ν°κ° μκ±°λ μ μ½μ‘°κ±΄ μ‘΄μ¬ | μ μ½μ‘°κ±΄ λ¨Όμ μμ |
λ§μ΄κ·Έλ μ΄μ κΈ°λ‘ λΆμΌμΉ
μ¦μ: μ€μ DB μνμ λ§μ΄κ·Έλ μ΄μ κΈ°λ‘μ΄ λ€λ¦ ν΄κ²°:λ‘€λ°± λΆκ°λ₯
μ¦μ: λ‘€λ°± μλ μ μ€λ₯ λ°μ μμΈ:down() ν¨μκ° μ λλ‘ μ μλμ§ μμ
ν΄κ²°: λ§μ΄κ·Έλ μ΄μ
νμΌμ μ΄μ΄ down() ν¨μλ₯Ό μμ
μ€μ ν
1. μμ λ¨μλ‘ λ§μ΄κ·Έλ μ΄μ
2. νλ‘λμ μ ν μ€νΈ
3. λ§μ΄κ·Έλ μ΄μ κΈ°λ‘ κ΄λ¦¬
- Gitμ λ§μ΄κ·Έλ μ΄μ νμΌ μ»€λ°
- μ»€λ° λ©μμ§μ λ³κ²½ λ΄μ© λͺ μ
- νμλ€κ³Ό λ§μ΄κ·Έλ μ΄μ μμ 곡μ
λ€μ λ¨κ³
Scaffolding ν
Model μ½λ μλ μμ±
migrate CLI
CLIλ‘ λ§μ΄κ·Έλ μ΄μ
κ΄λ¦¬