μΌλ ¨μ μννΈμ¨μ΄κ° λμκ°λ λ°©μμ λ€μμΈ ν¨ν΄
κΈ°λ₯μμ΄ λλμ΄ μ Έμλ€λ νΉμ§μ΄ μλ€.
μ½λ κ°λ μ±, μ μ§λ³΄μμ±μ΄ μ’μμ§λ€.
MVC ν¨ν΄μ μ΄μ©νλ νλ μμν¬
λ£¨λΉ μ¨ λ μΌμ¦, μ΅μ€νλ μ€, μ₯κ³ , νλΌμ€ν¬ λ±λ±
λ°μ΄ν°λ₯Ό κ΄λ¦¬νλ€.
λ°μ΄ν° λ² μ΄μ€μ μ°κ²°λμ΄ μκ±°λ, λͺ¨λΈ μμ²΄κ° λ°μ΄ν°λ₯Ό κ°μ§κ³ μμ΄μ 컨νΈλ‘€λ¬μ μνΈμμ©νλ€.
μ μ κ° λ³΄λ νλ©΄μ ꡬμ±νλ μν , μ΄λ ν λ°μ΄ν°λ₯Ό λ°μΌλ©΄ κ·Έκ±Έ κ·Έλλ‘ μΆλ ₯νλ μν μ νλ€.
컨νΈλ‘€λ¬μ μνΈμμ©νλ€.
ν΄λΌμ΄μΈνΈλ‘ λΆν° μ‘μ μ λν μΈν κ°μ λ°λλ€.
μΈν κ°μ ν λλ‘ λͺ¨λΈκ³Ό μνΈμμ©ν΄μ νμν λ°μ΄ν°λ₯Ό λ°μμμ λ·°κ° μΆλ ₯ν μ μκ² κ°κ³΅ν ν λ·°μ μνΈμμ©νλ€.
μΉμμμ MVC ν¨ν΄μ μλμ½λμ΄λ€.
μ μΌ μλ¨μ URIλ‘ μμ²μ΄ λλ€λ©΄,
μ μΌ μ²μ λΌμ°ν°μμ μμ΄λλ₯Ό νλΌλ―Έν°λ‘ λ°μ User.getProfile(id)κ° μ€νλλ€.
κ·ΈλΌ μ»¨νΈλ‘€λ¬ μν μ νλ User ν΄λμ€μ getProfile ν¨μκ° μ€νλκ² λλλ°, μ΄λ κ² λλ©΄ UserModelμ΄λΌλ ν΄λμ€μ getProfile() ν¨μλ₯Ό μ€νμμΌ κ·Έ λ°ν κ°μ νλ‘νμ΄λΌλ λ³μμ ν λΉνλ€.
UserModel ν΄λμ€μ getProfile ν¨μμ κ²½μ° μΏΌλ¦¬λ¬Έμ μ΄μ©ν΄ λ°μ΄ν° λ² μ΄μ€μ μνΈμμ©νκ³ κ·Έ κ²°κ³Ό κ°μ λ°ννλ ν¨μμ΄λ€.
μ΄λ κ² UserModelμ getProfile ν¨μκ° μ€νλλ©΄ κ°μ΄ User ν΄λμ€μ λ³μμ ν λΉλκ³ κ·Έκ² users/profile μ λλ ν 리μ μλ νμΌμ μ λ¬λκ³ κ·Έκ²μ λ·° μν μ νλ νμΌμ΄ μ λ¬ λ°μ λ°μ΄ν°λ₯Ό λμ μΌλ‘ μΆλ ₯νκ² λλ€.
κ΄κ³ν λ°μ΄ν° λ² μ΄μ€μ μλ λ°μ΄ν°λ₯Ό jsμ ν΄λμ€, κ°μ²΄μ²λΌ λ€λ£° μ μκ² ν΄μ£Όλ μ€κ³μ μν μ νλ€.
νλ‘λ―Έμ€λ₯Ό μ§μνλ λ Έλjs ORM
Sequelize μμ μ½λ
new Sequelizeλ‘ λ°μ΄ν° λ² μ΄μ€λ₯Ό μ°κ²°νλ€.
첫λ²μ§Έ μΈμλ DBλͺ , λ,μΈλ²μ§Έ μΈμλ μ μ μμ΄λ, λΉλ°λ²νΈμ΄λ€.
μνλΌμ΄μ¦λ μ λ°μ΄ν°λμ£ ν¬λ¦¬μμ΄ν°λμ£, μμ΄λ μλμΌλ‘ μμ±ν΄μ€λ€.
.sync()λ μ μ μ λ°μ΄ν°λ₯Ό μΌμΉμν€λ κ³Όμ μ΄λ€.
1:1 μ κ΄κ³μμλ HasOne
, BelongsTo
λ‘ νκΈ°λλ€.
npx sequelize-cli init
λΉ νλ‘μ νΈλ₯Ό λ§λλ λͺ λ Ήμ΄. λ€μ 4κ°μ λλ ν λ¦¬κ° νμ±λλ€.
npx sequelize-cli model:generate --name λͺ¨λΈμ΄λ¦ --attributes 컬λΌ1:string, 컬λΌ2:integer
λͺ¨λΈμ μμ±νλ λͺ λ Ήμ΄.
npx sequelize-cli db:migrate
λ§μ΄κ·Έλ μ΄μ μ μ€νμν€λ λͺ λ Ήμ΄
μ€ν€λ§μ λ³κ²½μ΄ μκΈ°κ±°λ λ΄μ©μ΄ λ°λλ ν΄λΉ λͺ λ Ήμ΄λ₯Ό λ€μ μ€νν΄μ€μΌνλ€.