๐Ÿ” fastapi-practice

์ ํ”„ํˆฌ FastApi ์™€ ๊ณต์‹๋ฌธ์„œ ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณต๋ถ€ ๋‚ด์šฉ ๊ธฐ๋ก

0827

  • fast api์˜ ์ดˆ๊ธฐ ์„ค์ •๊ณผ app, router์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ธ ์ดํ•ด
  • migration ๊ด€๋ฆฌ alembic์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ธ ์ดํ•ด
## ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋ฐฉ๋ฒ•
1. ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ ์ดํ›„ `alembic revision --autogenerate`๋ฅผ ์ž‘์„ฑ.
2. `alembic upgrade head`์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ์šฉํ•œ๋‹ค.
3. `alembic history` ์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ํ™•์ธํ•œ๋‹ค.

## ๊ธฐํƒ€
- `alembic current` ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ˜„์žฌ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
- `alembic downgrade -1`๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด์ „ ์ƒํƒœ๋กœ ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ๋‹ค.
  • database ์—ฐ๊ฒฐ ๋ฐ SQLALCHEMY์˜ ๋ชจ๋ธ ๋ฐ base์— ๊ด€๋ จํ•˜์—ฌ ๊ณต๋ถ€
  • pydantic์„ ํ†ตํ•œ ์Šคํ‚ค๋งˆ(dto) ์ดํ•ด.
  • ๊ธฐํƒ€ ํŒŒ์ด์ฌ์˜ Union๊ณผ fastapi์˜ Depends ์กฐ๊ธˆ ์ดํ•ด

0829

  • DTO(schema)๋ฅผ ํ†ตํ•œ response์— ๋Œ€ํ•œ ์ดํ•ด. (response model ํ™œ์šฉ)
  • response model์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” return ํ•  ๋•Œ ๊ฐ์ฒด๊ฐ€ ํ•„์š”ํ•˜๋‹ค.