<aside>
</aside>
μ! λλμ΄ FastAPI κ°μ 5λΆ: λ°μ΄ν°λ² μ΄μ€ μ°λ λ° ORM νμ©μ 첫 μκ°, 20κ°μ λλ€!
π κ·Έλμ μ λ§ μ€μν κ°λ λ€μ λ§μ΄ λ°°μ°κ³ μ€μ νλ‘μ νΈμ κΈ°λ³Έ CRUD κΈ°λ₯κΉμ§ ꡬννμ£ ? μ λ§ λλ¨ν©λλ€!
νμ§λ§ 4λΆκΉμ§μ μ°λ¦¬ ToDo APIμλ μΉλͺ μ μΈ λ¨μ μ΄ μμμ΅λλ€. λ°λ‘ μλ²λ₯Ό κ»λ€ μΌλ©΄ λͺ¨λ λ°μ΄ν°κ° μ¬λΌμ§λ€λ κ²μ΄μμ£ ! π μ€μ μλΉμ€μμλ λ°μ΄ν°κ° μꡬμ μΌλ‘ μ μ₯λμ΄μΌ ν©λλ€. μ¬μ©μκ° μΆκ°ν ν μΌ λͺ©λ‘μ΄ μλ² μ¬μμκ³Ό μκ΄μμ΄ μ μ§λμ΄μΌ νλκΉμ.
μ΄λ² 5λΆμμλ λ°λ‘ μ΄ λ°μ΄ν° μꡬ μ μ₯ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄, μ°λ¦¬μ FastAPI μ ν리μΌμ΄μ μ **λ°μ΄ν°λ² μ΄μ€(Database)**μ μ°κ²°νλ λ°©λ²μ λ°°μλλ€! νΉν, Python μ½λμ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€ μ¬μ΄μ λ€λ¦¬ μν μ ν΄μ£Όλ ORM(Object-Relational Mapper) κΈ°μ κ³Ό, νμ΄μ¬ μνκ³μμ κ°μ₯ κ°λ ₯νκ³ λ리 μ°μ΄λ ORM λΌμ΄λΈλ¬λ¦¬μΈ SQLAlchemyμ λν΄ μμλ³Ό κ±°μμ.
μ΄λ² 20κ°μμλ 본격μ μΈ μ½λ μμ±μ μμ, μ λ°μ΄ν°λ² μ΄μ€κ° νμνκ³ ORMμ 무μμΈμ§, κ·Έλ¦¬κ³ μ°λ¦¬κ° μ¬μ©ν SQLAlchemyλ μ΄λ€ λꡬμΈμ§ κ°λ μ νμ€ν μ‘κ³ κ°λ μκ°μ κ°κ² μ΅λλ€. λ°μ΄ν° μꡬ μ μ₯μ μΈκ³λ‘ λ λ μ€λΉ, λμ ¨λμ? πΎβ¨
μ΄λ² 20κ°μ 5λΆμ μμμΌλ‘, FastAPI μ ν리μΌμ΄μ μ λ°μ΄ν°λ² μ΄μ€ μ°λμ νμμ±μ λ°°μ°κ³ κ΄λ ¨ ν΅μ¬ κ°λ λ€μ μκ°ν©λλ€. μ μΈλ©λͺ¨λ¦¬ μ μ₯ λ°©μ(Python λμ λ리 λ±)λ§μΌλ‘λ λΆμ‘±νλ©°, λ°μ΄ν°λ₯Ό μꡬμ μΌλ‘ μ μ₯νκΈ° μν΄ λ°μ΄ν°λ² μ΄μ€κ° νμνμ§ μμλ΄ λλ€.
λ€μν λ°μ΄ν°λ² μ΄μ€ μ’ λ₯ μ€ μ΄ νλ‘μ νΈμμ μ¬μ©ν **κ΄κ³ν λ°μ΄ν°λ² μ΄μ€(RDBMS)**λ₯Ό κ°λ΅ν μκ°νκ³ , νμ΄μ¬ κ°μ²΄ μ§ν₯ μ½λμ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μ ν μ΄λΈ ꡬ쑰 μ¬μ΄μ κ°κ·Ήμ λ©μμ£Όλ ORM(Object-Relational Mapper) κΈ°μ μ κ°λ κ³Ό μ₯μ μ μ€λͺ ν©λλ€.
λ§μ§λ§μΌλ‘, νμ΄μ¬μμ κ°μ₯ λ리 μ¬μ©λλ κ°λ ₯ν ORM λΌμ΄λΈλ¬λ¦¬μΈ SQLAlchemyλ₯Ό μκ°νκ³ , μμΌλ‘ SQLAlchemyλ₯Ό μ¬μ©νμ¬ μ΄λ»κ² λ°μ΄ν°λ² μ΄μ€μ μνΈμμ©ν κ²μΈμ§ κ°κ΄μ μΈ λ‘λλ§΅μ μ μν©λλ€. λν, λ°μ΄ν°λ² μ΄μ€ μ°λμ νμν μμλ€(λ°μ΄ν°λ² μ΄μ€ μ’ λ₯ μ ν, λλΌμ΄λ² μ€μΉ, μ°κ²° λ¬Έμμ΄ λ±)μ λν΄μλ μμλ΄ λλ€.
μ΄ κ°μλ₯Ό λ§μΉλ©΄ μ¬λ¬λΆμ λ€μμ ν μ μκ² λ©λλ€: