Skip to content

๐Ÿ› ๋ฐฐํ‹€ ์˜ต์…˜ ํƒœ๊ทธ ์ˆ˜์ • ์‹œ ์œ ๋‹ˆํฌ ์ œ์•ฝ ์œ„๋ฐ˜(23505) ๋ฐœ์ƒย #481

Description

@si-zero

๐Ÿ› ๋ฒ„๊ทธ ์„ค๋ช…

PATCH /api/v1/admin/battles/{id} ๋กœ ๋ฐฐํ‹€ ์˜ต์…˜ ํƒœ๊ทธ๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ, ๊ธฐ์กด์— ์ด๋ฏธ ๋ถ™์–ด์žˆ๋˜ ํƒœ๊ทธ๋ฅผ ๋‹ค์‹œ ๋ณด๋‚ด๋ฉด 500 ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค.

๐Ÿ“‹ ์žฌํ˜„ ๋กœ๊ทธ

ERROR: duplicate key value violates unique constraint "battle_option_tags_battle_option_id_tag_id_key"
Detail: Key (battle_option_id, tag_id)=(42, 6) already exists.

๐Ÿ” ์›์ธ

BattleServiceImpl.replaceBattleOptionTags()๊ฐ€ ๊ธฐ์กด ํƒœ๊ทธ๋ฅผ deleteAll()ํ•œ ๋’ค ๋ฐ”๋กœ saveBattleOptionTags()๋กœ ์ƒˆ ํƒœ๊ทธ๋ฅผ ์ €์žฅํ•˜๋Š”๋ฐ, flush๊ฐ€ ์—†์–ด์„œ Hibernate์˜ ๊ธฐ๋ณธ flush ์ˆœ์„œ(insert๊ฐ€ delete๋ณด๋‹ค ๋จผ์ € ์‹คํ–‰)์ƒ delete๊ฐ€ ๋ฐ˜์˜๋˜๊ธฐ ์ „์— ๋™์ผํ•œ (battle_option_id, tag_id) insert๊ฐ€ ๋‚˜๊ฐ€ ์œ ๋‹ˆํฌ ์ œ์•ฝ ์œ„๋ฐ˜์ด ๋ฐœ์ƒํ•œ๋‹ค.

๋ฐฐํ‹€ ๋ ˆ๋ฒจ ํƒœ๊ทธ ๊ต์ฒด(updateBattle์˜ request.tagIds() ์ฒ˜๋ฆฌ)๋Š” ์ด๋ฏธ deleteByBattle() ํ›„ flush()๋ฅผ ํ˜ธ์ถœํ•˜๋Š”๋ฐ, ์˜ต์…˜ ๋ ˆ๋ฒจ ํƒœ๊ทธ ๊ต์ฒด๋งŒ ์ด ํŒจํ„ด์ด ๋น ์ ธ์žˆ์—ˆ๋‹ค.

โœ… ํ•ด๊ฒฐ

replaceBattleOptionTags()์—์„œ deleteAll() ์งํ›„ flush() ํ˜ธ์ถœ ์ถ”๊ฐ€.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

๐Ÿ› Fix (๋ฒ„๊ทธ ์ˆ˜์ •)๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions