Skip to content

๐Ÿš€[๊ธฐ๋Šฅ๊ฐœ์„ ][๋ฌธ์ œ] SQLD 2026 ์ถœ์ œ ๊ฒฝํ–ฅ ๋ฐ˜์˜: ๋ฌธ์ œ ํ’€ ์ •๋ฆฌ, ๋ณด๊ธฐ ๊ณ ์ •, ์ˆ˜์ง‘ ์ž๋ฃŒ ์•”ํ˜ธํ™”ย #511

Closed

Description

@Cassiiopeia

๐Ÿ“ ํ˜„์žฌ ๋ฌธ์ œ์ 

  • ์šด์˜ ๋ฌธ์ œ ํ’€(ํ™œ์„ฑ 192๋ฌธํ•ญ)์ด ์ „๋ถ€ 2026๋…„ 4์›”์— ๋งŒ๋“ค์–ด์กŒ๋‹ค. 2026๋…„ 61ยท62ํšŒ์˜ ์ถœ์ œ ๊ฒฝํ–ฅ์„ ๋”ฐ๋ผ๊ฐ€์ง€ ๋ชปํ•œ๋‹ค.
    • 61ํšŒ ํ•ฉ๊ฒฉ๋ฅ ์€ 26%์˜€๋‹ค.
    • ์ตœ๊ทผ ์‹œํ—˜์€ 2๊ณผ๋ชฉ 40๋ฌธํ•ญ ์ค‘ 30์—ฌ ๋ฌธํ•ญ์ด "๋ฐ์ดํ„ฐ + SQL์„ ์ฃผ๊ณ  ๊ฒฐ๊ณผ ํ–‰ ์ˆ˜ยท๊ฐ’ยท์˜ค๋ฅ˜๋ฅผ ์ถ”์ "ํ•˜๋Š” ํ˜•ํƒœ๋‹ค.
  • ๊ฐ™์€ ์ฃผ์ œ์˜ ๊ฐœ๋… ์„ค๋ช…ํ˜• ๋ฌธ์ œ๊ฐ€ 2~4๊ฐœ์”ฉ ์ค‘๋ณต๋ผ ์žˆ๋‹ค. ์‹œํ—˜ ๋ฒ”์œ„ ๋ฐ– ๋ฌธ์ œ๋„ ์žˆ๋‹ค(WITH RECURSIVE).
  • ์ตœ๊ทผ ๋งค ํšŒ์ฐจ ๋‚˜์˜ค๋Š” ์œ ํ˜•์ด 0๋ฌธํ•ญ์ด๋‹ค.
    • ์ •๊ทœ์‹(REGEXP_*), ROWNUM๊ณผ Top-N ์‹คํ–‰ ์ˆœ์„œ ํ•จ์ •
    • MERGEยท๋‹ค์ค‘ INSERT FIRSTยทROLE ์ค‘์ฒฉ ์ „ํŒŒ ๊ฒฐ๊ณผ ์ถ”์ 
    • 1๊ณผ๋ชฉ ์ƒํ™ฉํ˜•
  • Oracle ์ „์šฉ ๋ฌธ๋ฒ•(ROWNUM, CONNECT BY, (+), MERGE ๋“ฑ) ๋ฌธ์ œ๋Š” ์ƒŒ๋“œ๋ฐ•์Šค(MariaDB/PostgreSQL)์—์„œ ๊ฒ€์ฆ๋˜์ง€ ์•Š์•„ ๊ฐœ๋…ํ˜•์ด ๋œ๋‹ค.
    • ์‹ค์ „ ๋ชจ๋“œ์—์„œ๋Š” AI๊ฐ€ ๋งค๋ฒˆ ๋ณด๊ธฐ๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์— ๊ณ„์‚ฐํ˜• ๋ฌธ์ œ์—์„œ ์ •๋‹ต์ด ํ‹€์–ด์ง„๋‹ค.
    • ์‹ค์ œ ์‚ฌ๋ก€: ๋ฌธ์ œ 8eefc3e3(CONNECT BY + WHERE COUNT)์˜ AI ๋ณด๊ธฐ ์„ธํŠธ๊ฐ€ ์ •๋‹ต์„ 3์œผ๋กœ ํ‘œ์‹œํ–ˆ๋‹ค. ์‹ค์ œ ์ •๋‹ต์€ 2์ด๊ณ , ํ•ด์„ค๋„ ์„œ๋กœ ๋ชจ์ˆœ๋œ๋‹ค.
    • ๋ณด๊ธฐ๋ฅผ ๊ณ ์ •ํ•˜๋Š” CURATED_ONLY ์ •์ฑ…์€ ์•„์ง ๊ตฌํ˜„๋˜์ง€ ์•Š์•˜๋‹ค.

๐Ÿ› ๏ธ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ / ์ œ์•ˆ ๊ธฐ๋Šฅ

  • ์ถœ์ œ ๊ฒฝํ–ฅ ์กฐ์‚ฌ(์™„๋ฃŒ)
    • 58~62ํšŒ ๋ณต์› ๋ฌธํ•ญํ‘œ, ๋„ค์ด๋ฒ„ ์นดํŽ˜ ํ›„๊ธฐยท์ €์ž ๋ถ„์„์„ ์ˆ˜์ง‘ํ–ˆ๋‹ค.
    • ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์œ ํ˜• ๋นˆ๋„, 2026 ์‹คํƒœ, ์–‘์‚ฐ ํ…œํ”Œ๋ฆฟ์„ ์ •๋ฆฌํ–ˆ๋‹ค.
  • ๋ฌธ์ œ ํ’€ ์ •๋ฆฌ(์™„๋ฃŒ)
    • ์ค‘๋ณต 21๋ฌธํ•ญ๊ณผ ๋ฒ”์œ„ ๋ฐ– 1๋ฌธํ•ญ, ์ด 22๋ฌธํ•ญ์„ ๋น„ํ™œ์„ฑํ™”ํ–ˆ๋‹ค(์‚ญ์ œ ์•„๋‹˜, ๋ณต๊ตฌ ๊ฐ€๋Šฅ). ํ™œ์„ฑ ๋ฌธ์ œ๋Š” 192์—์„œ 170์ด ๋๋‹ค.
  • ๋ณด๊ธฐ ๊ณ ์ •
    • CURATED_ONLY ์ •์ฑ…์„ ๊ตฌํ˜„ํ•ด, ๊ด€๋ฆฌ์ž๊ฐ€ ๊ฒ€์ฆํ•œ 4๊ฐœ ๋ณด๊ธฐ๋ฅผ ์‹ค์ „ยท์—ฐ์Šต ๋ชจ๋“œ ๋ชจ๋‘ ๊ทธ๋Œ€๋กœ ์ถœ์ œํ•œ๋‹ค.
  • ๊ฒ€์ฆ ํ•˜๋„ค์Šค
    • ๋กœ์ปฌ Oracle ์ปจํ…Œ์ด๋„ˆ์—์„œ ๋ฌธ์ œ์˜ ์ •๋‹ต SQL์„ ์‹ค์ œ๋กœ ์‹คํ–‰ํ•œ๋‹ค.
    • ๋ณด๊ธฐ์˜ ์ •๋‹ต ํ‘œ์‹œ๊ฐ€ ์‹คํ–‰ ๊ฒฐ๊ณผ์™€ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•œ ๋’ค์—๋งŒ ๋“ฑ๋กํ•œ๋‹ค.
  • ๋ฌธ์ œ ์–‘์‚ฐ
    • ๋นˆ ์œ ํ˜•๋ถ€ํ„ฐ 2026 ๊ฒฝํ–ฅ ํ…œํ”Œ๋ฆฟ(๊ฐœ๋… 2~3๊ฐœ ๊ฒฐํ•ฉ, ๊ฒฐ๊ณผ ์ถ”์ ํ˜• ์ค‘์‹ฌ)์œผ๋กœ ์ƒˆ ๋ฌธ์ œ๋ฅผ ๋งŒ๋“ ๋‹ค.
  • ์ˆ˜์ง‘ ์ž๋ฃŒ ๋ณดํ˜ธ
    • ์กฐ์‚ฌ ์ž๋ฃŒ๋Š” ์•ฑ ์ž์‚ฐ์ด๋ผ ์›๋ฌธ์€ ๋กœ์ปฌ์—๋งŒ ๋‘”๋‹ค(gitignore).
    • ๋ ˆํฌ์—๋Š” AES-256 ์•”ํ˜ธํ™”๋ณธ๋งŒ ์ปค๋ฐ‹ํ•œ๋‹ค. ์ปค๋ฐ‹ํ•  ๋•Œ ์ž๋™์œผ๋กœ ์•”ํ˜ธํ™”ํ•œ๋‹ค.

โš™๏ธ ์ž‘์—… ๋‚ด์šฉ

  • ์šด์˜ ๋น„ํ™œ์„ฑํ™” 22๋ฌธํ•ญ ๋ฐ˜์˜ (์™„๋ฃŒ)
  • ์ถœ์ œ ๊ฒฝํ–ฅ ์กฐ์‚ฌ ๋ฌธ์„œ, ๋ฌธ์ œ ํ’€ ๊ฐ์‚ฌ ๋ฌธ์„œ, ์ˆ˜์ง‘ ์ ˆ์ฐจ ๋ฌธ์„œ ์ž‘์„ฑ (์™„๋ฃŒ, ์•”ํ˜ธํ™” ๋ณด๊ด€)
  • ์ˆ˜์ง‘ ์ž๋ฃŒ ์•”ํ˜ธํ™” ์Šคํฌ๋ฆฝํŠธยทpre-commit hookยทํ‚ค ๋ฐฑ์—… (GitHub Secret, ์‹œ๋†€๋กœ์ง€ ๋ฐฑ์—…)
  • CURATED_ONLY ๋ณด๊ธฐ ๊ณ ์ • ์ •์ฑ… ๊ตฌํ˜„ (์„œ๋ฒ„)
  • ๋กœ์ปฌ Oracle ๊ฒ€์ฆ ํ•˜๋„ค์Šค ๊ตฌ์„ฑ
  • ๋นˆ ์œ ํ˜• ์šฐ์„  ๋ฌธ์ œ ์–‘์‚ฐ ๋ฐ ๋“ฑ๋ก

๐Ÿ™‹โ€โ™‚๏ธ ๋‹ด๋‹น์ž

  • ๋ฐฑ์—”๋“œ: Cassiiopeia

Activity

  1. self-assigned this
    on Oct 16, 2026
  2. Cassiiopeia commented on Oct 16, 2026

    @Cassiiopeia
    MemberAuthor

    Guide by ProjectOps

    ๋ธŒ๋žœ์น˜

    20261016_#511_SQLD_2026_์ถœ์ œ_๊ฒฝํ–ฅ_๋ฐ˜์˜_๋ฌธ์ œ_ํ’€_์ •๋ฆฌ_๋ณด๊ธฐ_๊ณ ์ •_์ˆ˜์ง‘_์ž๋ฃŒ_์•”ํ˜ธํ™”
    

    ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€

    SQLD 2026 ์ถœ์ œ ๊ฒฝํ–ฅ ๋ฐ˜์˜: ๋ฌธ์ œ ํ’€ ์ •๋ฆฌ, ๋ณด๊ธฐ ๊ณ ์ •, ์ˆ˜์ง‘ ์ž๋ฃŒ ์•”ํ˜ธํ™” : feat : {๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์„ค๋ช…} https://github.com/Twin-Fang/passQL/issues/511
    
    ๐Ÿ’ก ์™œ ์ด ๋ธŒ๋žœ์น˜๋ช…์„ ์จ์•ผ ํ•˜๋‚˜์š”?

    ์ด ๋ธŒ๋žœ์น˜๋ช… ํ˜•์‹(YYYYMMDD_#์ด์Šˆ๋ฒˆํ˜ธ_์ œ๋ชฉ)์„ ์“ฐ๋ฉด ์•„๋ž˜ ๊ธฐ๋Šฅ์ด ์ž๋™์œผ๋กœ ์—ฐ๋™๋ฉ๋‹ˆ๋‹ค:

    • @projectops app build ๋Œ“๊ธ€ ๋นŒ๋“œ โ€” ์ด ๋Œ“๊ธ€์˜ ๋ธŒ๋žœ์น˜๋ฅผ ์ž๋™ ์ธ์‹ํ•ด์„œ ๋นŒ๋“œ
    • ํ…Œ์ŠคํŠธ APK ๋นŒ๋“œ โ€” ๋ธŒ๋žœ์น˜์˜ #์ด์Šˆ๋ฒˆํ˜ธ๋กœ ์ด์Šˆ ์ •๋ณด๋ฅผ ๋นŒ๋“œ ๋…ธํŠธ์— ์ž๋™ ํฌํ•จ
    • ํ…Œ์ŠคํŠธ TestFlight ๋นŒ๋“œ โ€” ๋ธŒ๋žœ์น˜์˜ #์ด์Šˆ๋ฒˆํ˜ธ๋กœ ์ด์Šˆ ์ •๋ณด๋ฅผ ์ž๋™ ์—ฐ๋™
    • ์ปค๋ฐ‹/๋ณด๊ณ ์„œ/๋ฆฌ๋ทฐ ์Šคํ‚ฌ โ€” ๋ธŒ๋žœ์น˜ยทworktree ํด๋”๋ช…์—์„œ ์ด์Šˆ ๋ฒˆํ˜ธ๋ฅผ ์ž๋™ ์ถ”์ถœํ•ด ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ยท๋ณด๊ณ ์„œ ์™„์„ฑ

    ๋‹ค๋ฅธ ํ˜•์‹์˜ ๋ธŒ๋žœ์น˜๋ช…์„ ์“ฐ๋ฉด ์œ„ ์ž๋™ํ™”๊ฐ€ ๋™์ž‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  3. added a commit that references this issue on Oct 16, 2026
  4. Cassiiopeia commented on Oct 16, 2026

    @Cassiiopeia
    MemberAuthor

    ๊ฐœ์š”

    2026๋…„ SQLD ์ถœ์ œ ๊ฒฝํ–ฅ(58~62ํšŒ)์— ๋งž์ถฐ ๋ฌธ์ œ ํ’€์„ ์ •๋ฆฌํ•˜๊ณ , Oracle ์ „์šฉ ๋ฌธ๋ฒ• ๋ฌธ์ œ๋ฅผ ์ •๋‹ต ์˜ค๋ฅ˜ ์—†์ด ์ถœ์ œํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค.

    ๊ตฌ์กฐ๋Š” ์„ธ ๋ถ€๋ถ„์œผ๋กœ ๋˜์–ด ์žˆ๋‹ค.

    • ๊ด€๋ฆฌ์ž๊ฐ€ ๊ฒ€์ฆํ•œ ๋ณด๊ธฐ๋งŒ ์ถœ์ œํ•˜๋Š” CURATED_ONLY ์ •์ฑ…
    • ๋กœ์ปฌ Oracle์—์„œ ๋ณด๊ธฐ๋ฅผ ์‹ค์ œ๋กœ ์‹คํ–‰ํ•ด ํ™•์ธํ•˜๋Š” ๊ฒ€์ฆ ํ•˜๋„ค์Šค
    • ์กฐ์‚ฌ ์ž๋ฃŒ๋ฅผ ์•”ํ˜ธํ™”ํ•ด์„œ ๋ณด๊ด€ํ•˜๋Š” ์žฅ์น˜

    ๋ฐฐํฌ ํ›„ ์šด์˜์—์„œ ๋‹ค์Œ์„ ๋ฐ˜์˜ํ–ˆ๋‹ค.

    • ๋‚ก์€ ๋ฌธ์ œ 23๊ฐœ ๋น„ํ™œ์„ฑํ™”
    • ๊ฒ€์ฆ๋œ ์‹ ๊ทœ 23๋ฌธํ•ญ ๋“ฑ๋ก

    ๋ฐฐ๊ฒฝ

    • ์šด์˜ ๋ฌธ์ œ 192๊ฐœ๋Š” ๋ชจ๋‘ 2026๋…„ 4์›”์— ๋งŒ๋“  ๊ฒƒ์ด๋ผ 61ยท62ํšŒ ๊ฒฝํ–ฅ์„ ๋ฐ˜์˜ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.
      • ์ตœ๊ทผ ์‹œํ—˜์˜ 2๊ณผ๋ชฉ์€ ๋Œ€๋ถ€๋ถ„ "๋ฐ์ดํ„ฐ์™€ SQL์„ ์ฃผ๊ณ  ๊ฒฐ๊ณผยทํ–‰ ์ˆ˜ยท์˜ค๋ฅ˜๋ฅผ ์ถ”์ "ํ•˜๋Š” ํ˜•ํƒœ๋‹ค.
      • ์ •๊ทœ์‹, ROWNUM๊ณผ Top-N, MERGE, INSERT FIRST ๊ฐ™์€ ์œ ํ˜•์ด ๋น„์–ด ์žˆ์—ˆ๋‹ค.
    • Oracle ์ „์šฉ ๋ฌธ๋ฒ• ๋ฌธ์ œ๋Š” ์ƒŒ๋“œ๋ฐ•์Šค(PostgreSQL)์—์„œ ๊ฒ€์ฆ๋˜์ง€ ์•Š์•„ ๊ฐœ๋…ํ˜•์ด ๋œ๋‹ค. ์‹ค์ „ ๋ชจ๋“œ์—์„œ๋Š” ๋งค๋ฒˆ AI๊ฐ€ ๋ณด๊ธฐ๋ฅผ ๋งŒ๋“ ๋‹ค.
      • ์‹ค์ œ ์‚ฌ๋ก€๋กœ 8eefc3e3(CONNECT BY + WHERE COUNT)์˜ AI ๋ณด๊ธฐ๊ฐ€ ์ •๋‹ต์„ 3์œผ๋กœ ํ‘œ์‹œํ–ˆ๋‹ค. ์‹ค์ œ ์ •๋‹ต์€ 2์ด๊ณ , ํ•ด์„ค๋„ ์„œ๋กœ ๋ชจ์ˆœ๋๋‹ค.

    ๋ณ€๊ฒฝ ์‚ฌํ•ญ

    ๋ณด๊ธฐ ๊ณ ์ • ์ •์ฑ… (์„œ๋ฒ„)

    • ChoiceSetResolver
      • ์ •์ฑ…์ด CURATED_ONLY๋ฉด ์‹คํ–‰ ๋ชจ๋“œ๋ณด๋‹ค ๋จผ์ € ๋ถ„๊ธฐํ•œ๋‹ค.
      • ๊ด€๋ฆฌ์ž ๊ณ ์ • ์„ธํŠธ(ADMIN_SEEDยทADMIN_CURATED, OK)๋ฅผ ์‹ค์ „ยท์—ฐ์Šต ๋ชจ๋‘ ๊ทธ๋Œ€๋กœ ์ถœ์ œํ•˜๊ณ , AI ํ˜ธ์ถœ์ด๋‚˜ ํ”„๋ฆฌํŽ˜์น˜ ์†Œ๋น„๋Š” ํ•˜์ง€ ์•Š๋Š”๋‹ค.
      • ๊ณ ์ • ์„ธํŠธ๊ฐ€ ์—†์œผ๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ๋ง‰ํžˆ์ง€ ์•Š๊ฒŒ ๊ธฐ์กด AI ๊ฒฝ๋กœ๋กœ ๋Œ€์ฒดํ•˜๊ณ  warn ๋กœ๊ทธ๋ฅผ ๋‚จ๊ธด๋‹ค.
    • ChoiceOrderShufflerยทQuestionService
      • ํ’€์ด ์‘๋‹ต์—์„œ๋งŒ ํ‘œ์‹œ ์ˆœ์„œ๋ฅผ ์„ž๊ณ  ์ˆœ๋ฒˆ์„ 1..N์œผ๋กœ ๋‹ค์‹œ ๋งค๊ธด๋‹ค. DB์™€ ์ฑ„์ (choiceKey)์€ ๊ทธ๋Œ€๋กœ๋‹ค.
      • ํŒ์ •์€ "๋ฌธ์ œ ์ •์ฑ… CURATED_ONLY์ด๊ณ  ์„ธํŠธ ์ถœ์ฒ˜๊ฐ€ ๊ณ ์ •"์ธ ๊ฒฝ์šฐ๋งŒ์ด๋‹ค. ๊ธฐ์กด AI_ONLY ๋ฌธ์ œ์˜ ์‹œ๋“œ ์„ธํŠธ๋Š” ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•œ๋‹ค.
    • PrefetchService: ๋‹ค์Œ ๋ฌธ์ œ๊ฐ€ CURATED_ONLY๋ฉด AI ํ”„๋ฆฌํŽ˜์น˜๋ฅผ ๊ฑด๋„ˆ๋›ด๋‹ค.
    • CuratedChoiceSetWriter
      • ๊ธฐ์กด ๊ณ ์ • ์„ธํŠธ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•œ ๋’ค ์ƒˆ ADMIN_CURATED ์„ธํŠธ๋ฅผ ์ €์žฅํ•œ๋‹ค.
      • ํ•ด์„ค์€ ๊ฒ€์ฆ ๊ทผ๊ฑฐ(rationale)๋ฅผ ๊ทธ๋Œ€๋กœ ์ €์žฅํ•œ๋‹ค.
    • ChoiceExplanationServiceยท๋ฐฑํ•„ ์ฟผ๋ฆฌ
      • ๊ณ ์ • ์„ธํŠธ์˜ ํ•ด์„ค์€ AI๋กœ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  ๋ฎ์–ด์“ฐ์ง€๋„ ์•Š๋Š”๋‹ค. ์กฐํšŒ, ๋ฏธ๋ฆฌ ์ƒ์„ฑ, ๋ฐฑํ•„ ์„ธ ๊ฒฝ๋กœ ๋ชจ๋‘ ํ•ด๋‹นํ•œ๋‹ค.

    ์ผ๊ด„ ๊ฐ€์ ธ์˜ค๊ธฐยท๋‚ด๋ณด๋‚ด๊ธฐ

    • QuestionExportDto์— choices๋ฅผ ์ถ”๊ฐ€ํ–ˆ๋‹ค. ๋น„์–ด ์žˆ์–ด๋„ ๋˜๋ฏ€๋กœ ์˜› ํŒŒ์ผ๊ณผ ํ˜ธํ™˜๋œ๋‹ค.
    • CuratedChoiceValidator๊ฐ€ ๊ณ ์ • ๋ณด๊ธฐ ๊ทœ์น™์„ ๊ฒ€์‚ฌํ•œ๋‹ค.
      • ๋ณด๊ธฐ 4๊ฐœ, ์ •๋‹ต 1๊ฐœ, ํ‚ค ์ค‘๋ณต ์—†์Œ, ๋ณธ๋ฌธ๊ณผ ๊ทผ๊ฑฐ ํ•„์ˆ˜
      • ๋ณด๊ธฐ๋Š” CURATED_ONLY์—์„œ๋งŒ ํ—ˆ์šฉํ•˜๊ณ , ์‹คํ–‰ํ˜• ๋ฌธ์ œ๋Š” SQL ๋ณด๊ธฐ๋งŒ ํ—ˆ์šฉํ•œ๋‹ค.
    • ๊ฒ€์ฆ ๋‹จ๊ณ„๋ฟ ์•„๋‹ˆ๋ผ ๋“ฑ๋ก ๋‹จ๊ณ„์—์„œ๋„ ๋‹ค์‹œ ๊ฒ€์‚ฌํ•œ๋‹ค. ๊ทธ๋ž˜์„œ "์ „์ฒด ๋“ฑ๋ก"์„ ๋ˆŒ๋Ÿฌ๋„ ๊ทœ์น™ ์œ„๋ฐ˜ ํ•ญ๋ชฉ์€ ์ €์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค.
    • ๊ด€๋ฆฌ์ž ์ง์ ‘ ๋“ฑ๋ก ํ™”๋ฉด์—์„œ๋Š” CURATED_ONLY๋ฅผ ์ฐจ๋‹จํ–ˆ๋‹ค(์˜ต์…˜ ์ œ๊ฑฐ + 400). ๋ณด๊ธฐ ์ž…๋ ฅ ์—†์ด ๋งŒ๋“ค์–ด์ง€๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ ์œ„ํ•ด์„œ๋‹ค.

    ๊ฒ€์ฆ ํ•˜๋„ค์Šค (tools/sqld-question-harness/)

    • ๋ฌธ์ œ YAML์„ Oracle Free ์ปจํ…Œ์ด๋„ˆ์—์„œ ๋ฌธ์ œ๋ณ„ ๊ฒฉ๋ฆฌ ์Šคํ‚ค๋งˆ๋กœ ์‹คํ–‰ํ•œ๋‹ค.
    • ์ •๋‹ต ๋ณด๊ธฐ๋Š” ๊ธฐ๋Œ€๊ฐ’๊ณผ ์ผ์น˜ํ•ด์•ผ ํ•˜๊ณ , ์˜ค๋‹ต ๋ณด๊ธฐ๋Š” ๋ถˆ์ผ์น˜ํ•˜๊ฑฐ๋‚˜ ์‚ฌ์‹ค์ด์–ด์•ผ ํ†ต๊ณผํ•œ๋‹ค.
    • ๊ธฐ๋Œ€๊ฐ’ ์œ ํ˜•์€ ํ–‰, ์Šค์นผ๋ผ, ์ •๋‹ต๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ, ์˜ค๋ฅ˜ ๋ฐœ์ƒ, ๋ณด๊ธฐ ์‹คํ–‰ ๊ฒฐ๊ณผ, ํ–‰ ์ˆ˜์™€ ์ตœ๋Œ€ยท์ตœ์†Œ๋‹ค.
    • ํ†ต๊ณผํ•œ ๋ฌธ์ œ๋งŒ ๊ฐ€์ ธ์˜ค๊ธฐ JSON์œผ๋กœ ๋งŒ๋“ ๋‹ค.

    ์กฐ์‚ฌ ์ž๋ฃŒ ๋ณดํ˜ธ

    • ์›๋ฌธ์€ docs/sqld-research/์— ๋‘๊ณ  gitignore๋กœ ์ œ์™ธํ•œ๋‹ค. ๋ ˆํฌ์—๋Š” docs/sqld-research-encrypted/์˜ AES-256 ์•”ํ˜ธ๋ณธ๋งŒ ์ปค๋ฐ‹ํ•œ๋‹ค.
    • pre-commit hook์ด ์ปค๋ฐ‹ํ•  ๋•Œ ์ž๋™์œผ๋กœ ์•”ํ˜ธํ™”ํ•œ๋‹ค.
    • ํ‚ค๋Š” ๋ฃจํŠธ .env์— ๋‘๊ณ  GitHub Secret๊ณผ ์‹œ๋†€๋กœ์ง€ ๋ฐฑ์—… ์›Œํฌํ”Œ๋กœ์—๋„ ๋“ฑ๋กํ–ˆ๋‹ค.
    flowchart TD
        A[๋ฌธ์ œ YAML ์ž‘์„ฑ] --> B[ํ•˜๋„ค์Šค: Oracle ๊ฒฉ๋ฆฌ ์Šคํ‚ค๋งˆ ์‹คํ–‰]
        B --> C{์ •๋‹ตยท์˜ค๋‹ต ๋ณด๊ธฐ ๊ธฐ๋Œ€๊ฐ’ ๋Œ€์กฐ}
        C -->|๋ถˆ์ผ์น˜| D[FAIL: ์ˆ˜์ • ํ›„ ์žฌ๊ฒ€์ฆ]
        C -->|ํ†ต๊ณผ| E[๊ฐ€์ ธ์˜ค๊ธฐ JSON ์ƒ์„ฑ]
        E --> F[๊ด€๋ฆฌ์ž import/validate]
        F --> G{๊ณ ์ • ๋ณด๊ธฐ ๊ทœ์น™ ๊ฒ€์‚ฌ}
        G -->|์œ„๋ฐ˜| H[ํ•ญ๋ชฉ ๊ฑด๋„ˆ๋œ€]
        G -->|ํ†ต๊ณผ| I[ADMIN_CURATED ์„ธํŠธ ์ €์žฅ]
        I --> J[์‚ฌ์šฉ์ž ํ’€์ด ์š”์ฒญ]
        J --> K{์ •์ฑ… CURATED_ONLY?}
        K -->|์˜ˆ| L[๊ณ ์ • ์„ธํŠธ ๋ฐ˜ํ™˜, ์ˆœ์„œ ์„ž๊ธฐ, AI ํ˜ธ์ถœ ์—†์Œ]
        K -->|์•„๋‹ˆ์˜ค| M[๊ธฐ์กด AI ๊ฒฝ๋กœ]
    
    Loading

    ๊ฒ€์ฆ

    • ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์ƒˆ๋กœ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋ณด๊ฐ•ํ–ˆ๊ณ  ๋ชจ๋‘ ํ†ต๊ณผํ–ˆ๋‹ค.
      • ChoiceSetResolverTest 5, ChoiceOrderShufflerTest 3, QuestionCuratedSolvingTest 3
      • CuratedChoiceSetWriterTest 2, CuratedChoiceValidatorTest 10, QuestionImportCuratedTest 3
      • PrefetchServiceTest 2, ChoiceExplanationCuratedTest 2
      • ๊ธฐ์กด ArchitectureRuleTest 5์™€ QuestionDetailAnswerExposureTest 2๋„ ํ†ต๊ณผํ–ˆ๋‹ค.
    • ๋กœ์ปฌ @SpringBootTest 6์ข…์€ ์‹คํŒจํ–ˆ๋‹ค. ๋กœ์ปฌ ์„ค์ •(์•”ํ˜ธํ™” ํ‚ค, Firebase)์ด ์—†์–ด ์ปจํ…์ŠคํŠธ๋ฅผ ๋„์šฐ์ง€ ๋ชปํ•œ ๊ฒƒ์ด๊ณ , ์ด๋ฒˆ ๋ณ€๊ฒฝ๊ณผ๋Š” ๊ด€๊ณ„์—†๋‹ค.
    • ๋ฐฑํ•„ JPQL์„ ๋ฐ”๊ฟจ๊ธฐ ๋•Œ๋ฌธ์—, ๋กœ์ปฌ PostgreSQL๋กœ ์„œ๋ฒ„๋ฅผ ์ง์ ‘ ๋„์›Œ ๊ธฐ๋™(Started PassqlApplication)์„ ํ™•์ธํ–ˆ๋‹ค. ์‹œ์ž‘ ์‹œ ์ฟผ๋ฆฌ ๊ฒ€์ฆ์„ ํ†ต๊ณผํ–ˆ๋‹ค๋Š” ๋œป์ด๋‹ค.
    • ํ•˜๋„ค์Šค: 23/23๋ฌธํ•ญ์ด ํ†ต๊ณผํ–ˆ๋‹ค.
      • 8eefc3e3๊ณผ ๊ฐ™์€ "์ •๋‹ต ํ‘œ์‹œ ํ‹€๋ฆผ" ๋ฌธ์ œ๋ฅผ ์ผ๋ถ€๋Ÿฌ ๋„ฃ์–ด FAIL๋กœ ๊ฑธ๋Ÿฌ์ง€๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ๋‹ค.
      • ์ •๋‹ต์ด 2๊ฐœ์ธ ๋ฌธ์ œ๋„ ๊ฑธ๋Ÿฌ์กŒ๋‹ค.
    • ์„œ๋ฒ„ CI(PROJECT-SPRING-PASSQL-CI)์™€ ๋ฐฐํฌ(PROJECT-SPRING-SYNOLOGY-CICD) ๋ชจ๋‘ ์„ฑ๊ณตํ–ˆ๋‹ค.

    ์šด์˜ ๋ฐ˜์˜ (์‹ค์ธก)

    • ๋น„ํ™œ์„ฑํ™” 23๊ฐœ: ์ค‘๋ณต ๊ฐœ๋…ํ˜• 21, WITH RECURSIVE ๋ฒ”์œ„ ๋ฐ– 1, ์ •๋‹ต ์˜ค๋ฅ˜ 8eefc3e3 1. ์‚ญ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ ํ”Œ๋ž˜๊ทธ๋งŒ ๊บผ์„œ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์‹ ๊ทœ 23๋ฌธํ•ญ ๋“ฑ๋ก: ๊ฒ€์ฆ 23/23, created 23. ๊ณ„์ธตํ˜•, NOT IN๊ณผ NULL, ROWNUM ์‹คํ–‰ ์ˆœ์„œ, ์ •๊ทœ์‹, ํ˜•๋ณ€ํ™˜ ๊ฒฐํ•ฉ, ๋นˆ ๊ฒฐ๊ณผ ์ง‘๊ณ„, MERGE DELETE, INSERT FIRST, SAVEPOINT, GROUPING SETSยทCUBE, ์œˆ๋„์šฐ ํ•จ์ˆ˜, ์ง‘ํ•ฉ ์—ฐ์‚ฐ, (+) ์กฐ์ธ, CTAS ์ œ์•ฝ ๋“ฑ์„ ๋‹ค๋ฃฌ๋‹ค.
    • ์‹ ๊ทœ ๊ณ„์ธตํ˜• ๋ฌธ์ œ ff4f9530์€ ADMIN_CURATED ์„ธํŠธ๋กœ ์ €์žฅ๋๊ณ  ์ •๋‹ต์€ 2๋‹ค.
    • ํ™œ์„ฑ ๋ฌธ์ œ 192๊ฐœ, /actuator/health UP, ๋“ฑ๋ก ํ™”๋ฉด์—์„œ CURATED_ONLY ์˜ต์…˜์ด ๋น ์ง„ ๊ฒƒ์„ ํ™•์ธํ–ˆ๋‹ค.

    ์ฃผ์˜์‚ฌํ•ญ

    • ๊ณ ์ • ์„ธํŠธ ํŒ์ •์€ "์ •์ฑ… + ์ถœ์ฒ˜"๋ฅผ ํ•จ๊ป˜ ๋ณธ๋‹ค. ์ถœ์ฒ˜๋งŒ ๋ณด๋ฉด ๊ธฐ์กด AI_ONLY ๋ฌธ์ œ์˜ ์‹œ๋“œ ์„ธํŠธ๊นŒ์ง€ ์„ž์ด๊ณ  ํ•ด์„ค ์ƒ์„ฑ์—์„œ๋„ ๋น ์ง„๋‹ค. ํŒ์ •์€ QuestionService.isCuratedChoiceSet ํ•œ ๊ณณ์—์„œ ํ•œ๋‹ค.
    • ๊ณ ์ • ์„ธํŠธ ํ•ด์„ค์€ AI๊ฐ€ ๋‹ค์‹œ ๋งŒ๋“ค์ง€ ์•Š๋Š”๋‹ค. ChoiceExplanationService์˜ ๊ณ ์ • ์„ธํŠธ ๋ถ„๊ธฐ๋ฅผ ์—†์• ๋ฉด, ํ•ด์„ค ์š”์ฒญ ํ•œ ๋ฒˆ์— ๊ฒ€์ฆ ํ•ด์„ค์ด AI ํ•ด์„ค๋กœ ์˜๊ตฌํžˆ ๋ฎ์–ด์จ์ง„๋‹ค.
    • CURATED_ONLY ๋ฌธ์ œ๋Š” JSON ๊ฐ€์ ธ์˜ค๊ธฐ๋กœ๋งŒ ๋“ฑ๋กํ•œ๋‹ค. ์šด์˜ ์ƒŒ๋“œ๋ฐ•์Šค๊ฐ€ PostgreSQL์ด๋ผ, ํ•˜๋„ค์Šค ์ถœ๋ ฅ์€ CONCEPT_ONLY + CURATED_ONLY๋กœ ๋‚˜๊ฐ„๋‹ค.
    • ์ด ๋ ˆํฌ๋Š” develop ์—†์ด main โ†’ deploy ์ˆœ์„œ๋‹ค. ๋ฐฐํฌ๋Š” deploy ๋ธŒ๋žœ์น˜์— main์„ --no-ff ๋ณ‘ํ•ฉํ•ด์„œ pushํ•œ๋‹ค.

    ๋‚จ์€ ์ž‘์—…

    • ์•ฑ ๋ณด๊ธฐ ๋ผ๋ฒจ: ์•ฑ์€ ๋ณด๊ธฐ ๋ผ๋ฒจ์„ choiceKey ๊ธ€์ž๋กœ ๊ทธ๋ฆฐ๋‹ค. ๊ทธ๋ž˜์„œ ์ˆœ์„œ๋ฅผ ์„ž์œผ๋ฉด C, A, D, B์ฒ˜๋Ÿผ ๋ณด์ธ๋‹ค. ์•ฑ์„ ๋ฐ”๊ฟ”์•ผ ํ•˜๊ณ  ์Šคํ† ์–ด ๋ฐฐํฌ๊ฐ€ ํ•„์š”ํ•˜๋ฏ€๋กœ ํ›„์† ์ด์Šˆ๋กœ ๋ถ„๋ฆฌํ•œ๋‹ค.
    • ํ’€์ด API ์‹ค์ธก: ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž ๋กœ๊ทธ์ธ์ด ํ•„์š”ํ•ด์„œ ์ˆœ์„œ ์„ž๊ธฐ์™€ AI ๋ฏธํ˜ธ์ถœ ๋กœ๊ทธ๋Š” ์šด์˜์—์„œ ํ™•์ธํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.
    • ์ถ”๊ฐ€ ์–‘์‚ฐ: 1๊ณผ๋ชฉ ์ƒํ™ฉํ˜•, ROLE ์ „ํŒŒ, PIVOTยทUNPIVOT, ์ •๊ทœ์‹ ์‹ฌํ™” ๋“ฑ์„ ๋‹ค์Œ ๋ฌถ์Œ์œผ๋กœ ๋งŒ๋“ ๋‹ค.
    • ๋ฆฌ๋ทฐ Minor 8๊ฑด์€ ๋ณด๋ฅ˜ํ–ˆ๋‹ค.
      • ์›น ์ƒ์„ธ๋ฅผ ๋‹ค์‹œ ์กฐํšŒํ•  ๋•Œ ์ˆœ์„œ๊ฐ€ ๋‹ค์‹œ ์„ž์ธ๋‹ค.
      • ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๋™์‹œ์— ๊ฐ€์ ธ์˜ค๋ฉด OK ์„ธํŠธ๊ฐ€ 2๊ฐœ ๋‚จ์„ ์ˆ˜ ์žˆ๋‹ค.
      • ๋‚ด๋ณด๋‚ด๊ธฐ์— N+1 ์กฐํšŒ๊ฐ€ ์žˆ๋‹ค.
      • ๊ทธ ๋ฐ–์˜ ํ•ญ๋ชฉ์€ ์ด์Šˆ ๊ธฐ๋ก์— ์žˆ๋‹ค.
  5. Cassiiopeia commented on Oct 17, 2026

    @Cassiiopeia
    MemberAuthor

    3์ฐจ ์–‘์‚ฐ ๋“ฑ๋ก

    • ํ•˜๋„ค์Šค ๊ฒ€์ฆ 14/14 ํ†ต๊ณผ, ์šด์˜ import/validate 14/14, created 14
    • ์œ ํ˜•: PIVOT ํ–‰ ์ˆ˜ยท๊ฐ’(์—†๋Š” ์กฐํ•ฉ NULL), UNPIVOT ๊ธฐ๋ณธ NULL ์ œ์™ธ, ์ •๊ทœ์‹(ํƒ์š•/์ตœ์†Œ ์ผ์น˜, ์—ญ์ฐธ์กฐ ์น˜ํ™˜, ์•ต์ปคยท๋ฌธ์ž ํด๋ž˜์Šค), SYS_CONNECT_BY_PATH, FETCH FIRST WITH TIES, LIKE ESCAPE, ์ค‘์ฒฉ ROLE ์ „ํŒŒ(๊ฐœ๋…ํ˜•ยท๊ทผ๊ฑฐ ์ถœ์ฒ˜ ํฌํ•จ), 1๊ณผ๋ชฉ ์ƒํ™ฉํ˜• 4(์ƒํ˜ธ๋ฐฐํƒ€, ๊ด€๊ณ„ ์ฝ๊ธฐ, ๋‹ค์ค‘๊ฐ’ ์†์„ฑ, SQL ํŠน์ง•)
    • ๋ฌธ์ œ ์›๋ณธ์€ ์•”ํ˜ธํ™”๋ณธ์œผ๋กœ ์ปค๋ฐ‹ (63a218ab, ์„œ๋ฒ„ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์—†์Œ)
    • ๋ˆ„์ : ์‹ ๊ทœ 37๋ฌธํ•ญ(1์ฐจ 8 + 2์ฐจ 15 + 3์ฐจ 14), ๋น„ํ™œ์„ฑํ™” 23๋ฌธํ•ญ

    ๋‚จ์€ ํ™•์ธ

    • ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž ํ’€์ด 1ํšŒ ํ›„ ์„œ๋ฒ„ ๋กœ๊ทธ([resolver] curated HIT, AI ํ˜ธ์ถœ ์—†์Œ)๋กœ ์‹ค์ธก ์˜ˆ์ •
  6. Cassiiopeia commented on Oct 17, 2026

    @Cassiiopeia
    MemberAuthor

    ์‚ฌ์šฉ์ž ํ’€์ด ์‹ค์ธก (์šด์˜๊ณผ ๊ฐ™์€ main ์ฝ”๋“œ, ๋กœ์ปฌ PostgreSQL)

    ์šด์˜ ์‚ฌ์šฉ์ž ๋กœ๊ทธ์ธ์€ ์†Œ์…œ ๋กœ๊ทธ์ธ๋งŒ ์žˆ์–ด ์ž๋™ํ™”๊ฐ€ ๋ง‰ํ˜€ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ๋กœ์ปฌ์—์„œ ๋„์šฐ๊ณ , ํ…Œ์ŠคํŠธ ํšŒ์› ํ† ํฐ์œผ๋กœ ์‹ค์ œ ์‚ฌ์šฉ์ž API๋ฅผ ํ˜ธ์ถœํ–ˆ๋‹ค. AI ์„œ๋ฒ„ ์ฃผ์†Œ๋Š” ์—ฐ๊ฒฐ ๋ถˆ๊ฐ€๋กœ ๋‘์–ด, AI ํ˜ธ์ถœ์ด ์žˆ์œผ๋ฉด ์‹คํŒจ๋กœ ๋“œ๋Ÿฌ๋‚˜๊ฒŒ ํ–ˆ๋‹ค.

    ํ™•์ธ ํ•ญ๋ชฉ ์—ฐ์Šต ๋ชจ๋“œ ํšŒ์› ์‹ค์ „ ๋ชจ๋“œ ํšŒ์›
    ํ’€์ด ์ƒ์„ธ GET /api/questions/{uuid} 200, CURATED_ONLY, ์„ธํŠธ ADMIN_CURATED 1๊ฐœ, ์ •๋‹ต ์—ฌ๋ถ€ ์ˆจ๊น€, ์ˆœ๋ฒˆ 1..4 ๋™์ผ
    ํ‘œ์‹œ ์ˆœ์„œ (6ํšŒ ์กฐํšŒ) CDAB, ABDC, BCDA, BCDA, CABD, DCAB ACDB, BCDA, CDAB, BCAD, BDCA, BDAC
    ๋ณด๊ธฐ ์ƒ์„ฑ SSE 200, ๊ณ ์ • ์„ธํŠธ ๋ฐ˜ํ™˜ 200, ๊ณ ์ • ์„ธํŠธ ๋ฐ˜ํ™˜
    ์ •๋‹ต "2" ์ œ์ถœ 200, isCorrect true, ํ•ด์„ค = ๊ฒ€์ฆ ๊ทผ๊ฑฐ ๋™์ผ
    • ์„œ๋ฒ„ ๋กœ๊ทธ: [resolver] curated HIT 3ํšŒ, AI ๋ณด๊ธฐ ์ƒ์„ฑ ๊ฒฝ๋กœ 0ํšŒ, ๊ณ ์ • ์„ธํŠธ ๋ˆ„๋ฝ ๋Œ€์ฒด 0ํšŒ
    • AI ์„œ๋ฒ„ ํ˜ธ์ถœ์€ ๋ฌธ์ œ ๋“ฑ๋ก ์‹œ ๋น„๋™๊ธฐ ๊ฒ€์ƒ‰ ์ƒ‰์ธ(index-question)๋ฟ์ด๊ณ , ๋ณด๊ธฐ ์ƒ์„ฑ ํ˜ธ์ถœ์€ ์—†์Œ
    • ์ค‘๊ฐ„์˜ 500๊ณผ 409๋Š” ํ…Œ์ŠคํŠธ ํšŒ์› ๋ฐ์ดํ„ฐ ๋ฌธ์ œ์˜€๋‹ค: ํšŒ์› ํ–‰ ์—†์Œ, DB ๊ธฐ๋ณธ๊ฐ’ auth_provider=ANONYMOUS๊ฐ€ ํ˜„์žฌ enum์— ์—†์Œ. ๊ธฐ๋Šฅ๊ณผ๋Š” ๋ฌด๊ด€ํ•˜๋‹ค.

    ๋งˆ๋ฌด๋ฆฌ

    • ์•ฑ ๋ณด๊ธฐ ๋ผ๋ฒจ(choiceKey ๊ธฐ์ค€) ํ‘œ์‹œ๋Š” #512๋กœ ๋ถ„๋ฆฌ
    • ์ดํ›„ ์–‘์‚ฐ์€ ํ•˜๋„ค์Šค ์ ˆ์ฐจ(์•”ํ˜ธํ™” ๋ณด๊ด€ ๋ฌธ์„œ)๋กœ ๊ณ„์†
  7. Cassiiopeia commented on Oct 17, 2026

    @Cassiiopeia
    MemberAuthor

    ํ›„์† ์ˆ˜์ •: member.auth_provider ๊ธฐ๋ณธ๊ฐ’ ์ œ๊ฑฐ (995bc55e, ๋ฐฐํฌ ์™„๋ฃŒ)

    • ์›์ธ: V0_0_16 ์˜ ๊ธฐ๋ณธ๊ฐ’ 'ANONYMOUS' ๊ฐ€ ๋‚จ์•„ ์žˆ์—ˆ๋Š”๋ฐ, V0_0_155 ์—์„œ ANONYMOUS ํšŒ์›์„ ์ •๋ฆฌํ•œ ๋’ค AuthProvider enum ์—์„œ๋„ ๋น ์กŒ๋‹ค. ๊ณต๊ธ‰์ž ์—†์ด ๋“ค์–ด์˜จ ํ–‰์ด ์žˆ์œผ๋ฉด ์กฐํšŒ ์‹œ enum ๋ณ€ํ™˜ ์˜ค๋ฅ˜(500)๊ฐ€ ๋‚œ๋‹ค(๋กœ์ปฌ E2E ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ์—์„œ ์žฌํ˜„).
    • ์˜ํ–ฅ: ์•ฑ์€ ๊ฐ€์ž…ํ•  ๋•Œ ํ•ญ์ƒ ๊ณต๊ธ‰์ž๋ฅผ ์ง€์ •ํ•˜๋ฏ€๋กœ ์šด์˜ ์‚ฌ์šฉ์ž ์˜ํ–ฅ์€ ์—†์Œ. ์ˆ˜๋™ SQL ๊ฐ™์€ ๊ฒฝ๋กœ์˜ ์ž ๋ณต ์˜ค๋ฅ˜๋‹ค.
    • ์ˆ˜์ •: V0_10_52__drop_member_auth_provider_default.sql (DROP DEFAULT, ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์—†์Œ). ์ด์ œ ๊ณต๊ธ‰์ž ์—†๋Š” ์ €์žฅ์€ ์ €์žฅ ์‹œ์ ์— NOT NULL ์œ„๋ฐ˜์œผ๋กœ ๋ฐ”๋กœ ์‹คํŒจํ•œ๋‹ค.
    • ๊ฒ€์ฆ
      • ๋กœ์ปฌ PostgreSQL ์—์„œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ 51๊ฐœ๋ฅผ ์ „๋ถ€ ์ ์šฉํ–ˆ๊ณ , ๊ธฐ๋ณธ๊ฐ’ ์—†์Œ๊ณผ NOT NULL ์‹คํŒจ๋ฅผ ํ™•์ธ
      • ์šด์˜ ๋กœ๊ทธ: Successfully applied 1 migration ... v0.10.52, Started PassqlApplication, /actuator/health UP
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions