Skip to main content
UpsertBuilder์˜ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์œผ๋กœ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณ ๊ธ‰ ํŒจํ„ด ๊ฐœ์š”

์กฐ๊ฑด๋ถ€ ๋“ฑ๋ก

๋™์  ๋ฐ์ดํ„ฐ ์ƒ์„ฑ if/else ๋ถ„๊ธฐ

์ค‘์ฒฉ ๊ด€๊ณ„

3๋‹จ๊ณ„ ์ด์ƒ ๊ด€๊ณ„ ๊นŠ์€ ๊ณ„์ธต ๊ตฌ์กฐ

Upsert ๋™์ž‘

์ค‘๋ณต ์‹œ ์—…๋ฐ์ดํŠธ onConflict ํ™œ์šฉ

๋ณตํ•ฉ ํ‚ค

์—ฌ๋Ÿฌ ํ•„๋“œ ์กฐํ•ฉ UNIQUE ์ œ์•ฝ

์กฐ๊ฑด๋ถ€ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ

์—ญํ• ์— ๋”ฐ๋ฅธ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ

์˜ต์…”๋„ ๊ด€๊ณ„

๊นŠ์€ ๊ณ„์ธต ๊ตฌ์กฐ

4๋‹จ๊ณ„ ๊ด€๊ณ„ (Company โ†’ Dept โ†’ Team โ†’ Employee)

Upsert ๋™์ž‘ (ON CONFLICT)

์ค‘๋ณต ์‹œ ์—…๋ฐ์ดํŠธ

๋ณตํ•ฉ UNIQUE ํ‚ค

DO NOTHING

๋ณต์žกํ•œ ManyToMany

์กฐ์ธ ํ…Œ์ด๋ธ”์— ์ถ”๊ฐ€ ํ•„๋“œ

๋™์  ํ…Œ์ด๋ธ” ์„ ํƒ

ํ…Œ์ด๋ธ”๋ช…์„ ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉ

์ˆœํ™˜ ์ฐธ์กฐ ๋ฐฉ์ง€

์ˆœํ™˜ ์ฐธ์กฐ๋Š” ๋ถˆ๊ฐ€๋Šฅ

ํ•ด๊ฒฐ: 2๋‹จ๊ณ„ ์ €์žฅ

๋ฐ์ดํ„ฐ ๋ณ€ํ™˜ ๋ฐ ๊ฒ€์ฆ

์ž…๋ ฅ ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜

๋Œ€๋Ÿ‰ ๊ด€๊ณ„ ์—…๋ฐ์ดํŠธ

๊ธฐ์กด ๊ด€๊ณ„ ์ œ๊ฑฐ + ์ƒˆ ๊ด€๊ณ„ ์ถ”๊ฐ€

์‹ค์ „ ์˜ˆ์ œ

๋ณตํ•ฉ ๋ฐ์ดํ„ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

์กฐ์ง ์žฌํŽธ์„ฑ

๋ณต์žกํ•œ ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ

์—๋Ÿฌ ์ฒ˜๋ฆฌ ํŒจํ„ด

๋กค๋ฐฑ ํ›„ ์žฌ์‹œ๋„

๋ถ€๋ถ„ ์„ฑ๊ณต ์ฒ˜๋ฆฌ

๋‹ค์Œ ๋‹จ๊ณ„

๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

UpsertBuilder ๊ธฐ์ดˆ

๊ด€๊ณ„ ๋ฐ์ดํ„ฐ

UBRef๋กœ ๊ด€๊ณ„ ์ฒ˜๋ฆฌ

๋ฐฐ์น˜ ์ž‘์—…

๋Œ€๋Ÿ‰ ๋ฐ์ดํ„ฐ ๋“ฑ๋ก

ํŠธ๋žœ์žญ์…˜

ํŠธ๋žœ์žญ์…˜ ์ƒ์„ธ ๊ฐ€์ด๋“œ