Skip to content

[feat] Remove selected_placeย #10

@KyungminPark-steck

Description

@KyungminPark-steck

๐Ÿ“– ๋ฐฐ๊ฒฝ

๋‹ค์ค‘ ์žฅ์†Œ ์ถ”์ถœ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜๋ฉด์„œ ์žฅ์†Œ ์„ ํƒ ๊ฒฐ๊ณผ์˜ ๊ธฐ์ค€ ํ•„๋“œ๋Š” selected_places๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์กด selected_place๋Š” ๋‹จ์ผ ์žฅ์†Œ ์ถ”์ถœ ์‹œ์ ˆ์˜ API/DB ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ์œ ์ง€ํ–ˆ์ง€๋งŒ, ๋” ์ด์ƒ ํ•˜์œ„ ํ˜ธํ™˜ ํ•„๋“œ๋กœ ๋‚จ๊ฒจ๋‘˜ ํ•„์š”๊ฐ€ ์—†๋‹ค๊ณ  ํŒ๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ ์˜๋ฏธ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ selected_places[0]์™€ selected_place์— ์ค‘๋ณต ์ €์žฅ๋˜์–ด ์Šคํ‚ค๋งˆ์™€ ์‘๋‹ต ๊ตฌ์กฐ๊ฐ€ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๋ณต์žกํ•ด์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๐ŸŽฏ ๋ชฉํ‘œ

selected_place ๋‹จ์ผ ํ•„๋“œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ , ์žฅ์†Œ ์„ ํƒ ๊ฒฐ๊ณผ๋ฅผ selected_places ๊ธฐ์ค€์œผ๋กœ ์ผ์›ํ™”ํ•ฉ๋‹ˆ๋‹ค.

API ์‘๋‹ต, DB ์Šคํ‚ค๋งˆ, repository/model/schema/test ์ „๋ฐ˜์—์„œ selected_place ์˜์กด์„ฑ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ› ๏ธ ๊ตฌํ˜„ ๋‚ด์šฉ

  • processing.job_results ํ…Œ์ด๋ธ”์—์„œ selected_place ์ปฌ๋Ÿผ์„ ์ œ๊ฑฐํ•˜๋Š” migration ์ถ”๊ฐ€
  • job result ์ €์žฅ ๋กœ์ง์—์„œ selected_place insert/update ์ œ๊ฑฐ
  • job result ์กฐํšŒ ๋กœ์ง์—์„œ selected_place read/deserialize ์ œ๊ฑฐ
  • domain model, API response schema์—์„œ selected_place ํ•„๋“œ ์ œ๊ฑฐ
  • worker processor์—์„œ selected_place = selected_places[0] ์ƒ์„ฑ ๋ฐ ์ „๋‹ฌ ๋กœ์ง ์ œ๊ฑฐ
  • API endpoint ์‘๋‹ต์—์„œ selected_place ์ œ๊ฑฐ
  • ๊ด€๋ จ ํ…Œ์ŠคํŠธ์—์„œ selected_place ๊ฒ€์ฆ ์ œ๊ฑฐ ๋ฐ selected_places ๊ธฐ์ค€์œผ๋กœ ์ˆ˜์ •
  • ๊ธฐ์กด ๋‹จ์ผ ์žฅ์†Œ ์‹œ๋‚˜๋ฆฌ์˜ค๋„ selected_places์— 1๊ฐœ ํ•ญ๋ชฉ์ด ๋“ค์–ด๊ฐ€๋Š” ๋ฐฉ์‹์œผ๋กœ ์œ ์ง€

โš ๏ธ ๊ณ ๋ ค์‚ฌํ•ญ

  • selected_place ์ œ๊ฑฐ๋Š” API breaking change์ด๋ฏ€๋กœ, ํ˜„์žฌ ํ”„๋ก ํŠธ ์ชฝ์—์„œselected_places๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ „ํ™˜๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ ํ•„์š”
  • ๊ธฐ์กด DB ๋ฐ์ดํ„ฐ๋Š” 003_add_selected_places_to_job_results.sql์—์„œ selected_place๋ฅผ selected_places๋กœ ๋ฐฑํ•„ํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ, ์ปฌ๋Ÿผ ์ œ๊ฑฐ ์ „์— ํ•ด๋‹น migration์ด ์ ์šฉ๋˜์–ด ์žˆ์–ด์•ผ ํ•จ
  • selected_places๊ฐ€ ๋น„์–ด ์žˆ๋Š” ๊ฒฝ์šฐ ๊ธฐ์กด selected_place = null๊ณผ ๋™์ผํ•˜๊ฒŒ ๋นˆ ๋ฐฐ์—ด []๋กœ ํ‘œํ˜„
  • ๋Œ€ํ‘œ ์žฅ์†Œ ํ•˜๋‚˜๊ฐ€ ํ•„์š”ํ•œ ์†Œ๋น„์ฒ˜๋Š” selected_places[0]๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์•ˆ๋‚ด ํ•„์š”

โœ… ์™„๋ฃŒ ์กฐ๊ฑด

  • DB migration์œผ๋กœ selected_place ์ปฌ๋Ÿผ์ด ์ œ๊ฑฐ๋จ
  • API ์‘๋‹ต์—์„œ selected_place ํ•„๋“œ๊ฐ€ ๋” ์ด์ƒ ๋‚ด๋ ค๊ฐ€์ง€ ์•Š์Œ
  • ์ €์žฅ/์กฐํšŒ/worker/schema/domain ๋กœ์ง์—์„œ selected_place ์ฐธ์กฐ๊ฐ€ ์ œ๊ฑฐ๋จ
  • ๋‹จ์ผ ์žฅ์†Œ ๋ฐ ๋‹ค์ค‘ ์žฅ์†Œ ์ถ”์ถœ ๊ฒฐ๊ณผ๊ฐ€ ๋ชจ๋‘ selected_places๋กœ ์ •์ƒ ๋ฐ˜ํ™˜๋จ
  • ๊ด€๋ จ ํ…Œ์ŠคํŠธ๊ฐ€ selected_places ๊ธฐ์ค€์œผ๋กœ ์ˆ˜์ •๋˜๊ณ  ํ†ต๊ณผํ•จ

Metadata

Metadata

Assignees

No one assigned

    Labels

    feat์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions