๐Ÿคก Issue Report - ๋ฐฑ์—”๋“œ ๋ชจ๋ธ CASCADE, SET NULL ์ถฉ๋Œ

๊น€ํƒœ์ธยท2022๋…„ 8์›” 11์ผ
0

Issue Report, Debug

๋ชฉ๋ก ๋ณด๊ธฐ
10/10

์ƒํ™ฉ

  • ๋ฐฐํฌ ํ›„ ์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๋˜ ๋„์ค‘ 500 error๋ฅผ ๋ฑ‰์œผ๋ฉฐ ๊ฒŒ์‹œ๊ธ€ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ๊ฐ€ ์ „๋ถ€ ๋˜์ง€ ์•Š์•˜๋‹ค
  • ๋ฉ”์ธํŽ˜์ด์ง€๋Š” ๊ณง ์–ผ๊ตด์ธ ์ƒํ™ฉ์—์„œ ์ œ์ผ ํฐ ๋ฌธ์ œ๋ฅผ ์ง๋ฉดํ•ด์„œ ์ ์ž–์ด ๋‹นํ™ฉํ–ˆ๋‹ค
  • ์ด์œ ๋ฅผ ์ฐพ์•„๋ณด๋‹ˆ ์งˆ๋ฌธ๊ธ€์˜ ๋ชจ๋ธ์„ ๊ตฌ์„ฑํ• ๋•Œ ์งˆ๋ฌธ๊ธ€๊ณผ ๋‹ต๋ณ€, ์ข‹์•„์š” ๋ชจ๋ธ๋“ฑ์ด set null ๊ณผ CASCADE๋กœ ํ˜ผ์šฉํ•˜์—ฌ ์„ค๊ณ„ํ•œ ์ƒํƒœ์˜€๊ณ , ์ด๋Š” ์ดˆ๊ธฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•จ์— ์žˆ์–ด์„œ CASCADE๋Š” ํ†ต๊ณผ๋ฅผ ํ•˜์ง€ ๋ชปํ•˜๊ณ  set null์€ ํ†ต๊ณผ๊ฐ€ ๋˜์—ˆ๊ธฐ์— ๊ฐ„๊ณผํ•˜๊ณ  ์ง€๋‚˜๊ฐ„ ๋ถ€๋ถ„์ด ์šฐ๋ฆฌ์˜ ๋ฐœ๋ชฉ์„ ์žก์•˜๋‹ค
  • ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•˜๋ฉฐ ์ถ”์ธกํ•œ ๋ฐ” ํ˜„์žฌ ์ƒ๊ธด ์˜ค๋ฅ˜๋Š” ์œ ์ €๊ฐ€ ์‚ญ์ œํ•œ ๊ฒŒ์‹œ๊ธ€์— ๋‹ต๋ณ€๊ณผ ์ข‹์•„์š”๊ฐ€ ๋‚จ์•„์žˆ๋Š” ์ƒํƒœ์—์„œ, set null๊ฐ’์— ์˜ํ•ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ธ€์— ๋Œ“๊ธ€๊ณผ ์ข‹์•„์š”๊ฐ’์„ ์ฐพ์œผ๋ฉด์„œ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ๋ผ๊ณ  ์ถ”์ธกํ•˜๊ณ  ๋””๋ฒ„๊น…์— ๋“ค์–ด๊ฐ”๋‹ค

ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

  • ๊ธˆ๋ฒˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” postgresql๋ฅผ ํ†ตํ•ด ๊ตฌ์ถ•์„ ํ•˜์˜€๊ธฐ์— gui๋ฅผ ํ†ตํ•ด db์— ์ ‘๊ทผํ•˜์—ฌ set null ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๋ ค ์‹œ๋„ํ•˜์˜€์œผ๋‚˜ postgresql failed timeout expired ํ•ด๋‹น ์˜ค๋ฅ˜๋ฅผ ๋ฑ‰์œผ๋ฉด์„œ ์ ‘์†์ด ๋˜์ง€ ์•Š์•˜๋‹ค
  • ๊ตฌ๊ธ€๋ง์„ ํ†ตํ•ด ํ™•์ธํ•ด๋ณด๋‹ˆ ๋ณด์•ˆ๊ทธ๋ฃน์— ๊ด€ํ•œ ์ด์Šˆ์ธ๊ฒƒ๊ฐ™๋‹ค๋Š” ๊ธ€์ด ๋‚˜์™”๊ณ  AWS๋ฅผ ์ ‘์†ํ•˜์—ฌ ํ™•์ธํ•ด๋ณด๋‹ˆ ๋ณด์•ˆ๊ทธ๋ฃน ์„ค์ •์— postgresql์€ ์„ค์ •์ด ๋˜์–ด์žˆ์ง€ ์•Š์•˜๋‹ค
  • ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™์— PostgreSQL์„ ์ถ”๊ฐ€ํ•ด์ฃผ์—ˆ๊ณ  ํฌํŠธ๋Š” 5432ํฌํŠธ๋กœ ๊ทœ์น™์„ ์—ด์–ด์ฃผ์—ˆ๋‹ค

  • ์ดํ›„ ์„œ๋ฒ„ ๋ฐฐํฌํ•œ IP์™€ ์œ ์ €๋ช…, ํŒจ์Šค์›Œ๋“œ๋กœ ์ ‘๊ทผํ•˜๋‹ˆ ์ ‘๊ทผ์— ์„ฑ๊ณตํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ , postgresql์—์„œ set null ๋ฐ์ดํ„ฐ๋“ค์„ ์‚ญ์ œํ•˜๋ฉฐ ์ƒํ™ฉ์„ ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค
profile
์ฝ”๋”ฉ์ด ์ทจ๋ฏธ๊ฐ€ ๋˜๋Š” ๊ทธ๋‚ ๊นŒ์ง€

0๊ฐœ์˜ ๋Œ“๊ธ€