From e61d288509d38e949f51ce69e6a75fd48b6716f5 Mon Sep 17 00:00:00 2001 From: si-zero Date: Sat, 7 Nov 2026 23:03:04 +0900 Subject: [PATCH] =?UTF-8?q?#618=20[Feat]=20=EB=B0=B0=ED=8B=80=20=EC=88=98?= =?UTF-8?q?=EC=A4=80=20=EB=B0=98=EC=98=81=20SQL=EC=97=90=20=EC=9A=B4?= =?UTF-8?q?=EC=98=81=20=EB=B0=B0=ED=8B=80=20=EC=9D=B4=EC=A0=84=20=EC=A0=9C?= =?UTF-8?q?=EB=AA=A9=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../V20261107_01__battles_difficulty_plan.sql | 21 +++++++++++++++++-- ...1107_rollback__battles_difficulty_plan.sql | 19 ++++++++++++++++- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/src/main/resources/db/migration/V20261107_01__battles_difficulty_plan.sql b/src/main/resources/db/migration/V20261107_01__battles_difficulty_plan.sql index fc6a26b2..7e11f729 100644 --- a/src/main/resources/db/migration/V20261107_01__battles_difficulty_plan.sql +++ b/src/main/resources/db/migration/V20261107_01__battles_difficulty_plan.sql @@ -1,5 +1,5 @@ -- #610 기획 확정 배틀별 수준 반영. #571 에서 임시로 초급으로 채운 기존 배틀의 수준을 확정값으로 바꾼다. --- 기획 목록 115개와, 기획과 제목이 다르게 등록된 배틀의 이전 제목 9개로 DB에 있는 배틀만 찾는다. 목록에 없거나 DB에 없는 배틀은 그대로 둔다. +-- 기획 목록 115개와, 기획과 제목이 다르게 등록된 배틀의 이전 제목 26개로 DB에 있는 배틀만 찾는다. 목록에 없거나 DB에 없는 배틀은 그대로 둔다. -- 제목은 공백·문장부호를 빼고 비교한다. 사용자가 만든 배틀(USER)과 삭제된 배틀은 제외한다. -- 카테고리는 같은 제목이 사회 초급·역사 중급에 있는 "살기 위해 반역의 왕위, 받아들일까?"에만 비교한다. 한 배틀에 기획 행이 둘 이상 맞으면 바꾸지 않는다. -- 멱등하게 작성되어 재실행해도 안전하다. 한 트랜잭션으로 실행한다. @@ -134,7 +134,24 @@ INSERT INTO battle_difficulty_plan (plan_no, title, category, difficulty) VALUES ('문학 001 (이전 제목)', '역사 왜곡인가, 창작의 자유인가?', NULL, 'INTERMEDIATE'), ('예술 001 (이전 제목)', 'AI는 예술을 창작할 수 있는가?', NULL, 'INTERMEDIATE'), ('예술 003 (이전 제목)', '클래식은 고상하고 대중음악은 가벼운가?', NULL, 'BEGINNER'), - ('바이럴 004 (이전 제목)', '부모가 아이 이름에 종교적 의미를 담는 것은', NULL, 'INTERMEDIATE'); + ('바이럴 004 (이전 제목)', '부모가 아이 이름에 종교적 의미를 담는 것은', NULL, 'INTERMEDIATE'), + ('역사 002 (이전 제목)', '오펜하이머, 영웅인가 악마인가?', NULL, 'ADVANCED'), + ('문학 001 (이전 제목)', '역사 왜곡, 창작의 자유일까?', NULL, 'INTERMEDIATE'), + ('문학 006 (이전 제목)', '로미오와 줄리엣, 숭고한 로맨스인가?', NULL, 'INTERMEDIATE'), + ('사회 014 (이전 제목)', '외모도 실력일까?', NULL, 'BEGINNER'), + ('철학 023 (이전 제목)', '죽음을 앞둔 사람에게 진실을 말해야 할까?', NULL, 'ADVANCED'), + ('역사 005 (이전 제목)', '이방원, 폭군인가 혁명가인가?', NULL, 'INTERMEDIATE'), + ('철학 026 (이전 제목)', '일은 좋아하는 걸 택할까, 잘하는 걸 택할까?', NULL, 'BEGINNER'), + ('철학 025 (이전 제목)', '애인이 내 친구의 깻잎 떼줘도 괜찮을까?', NULL, 'BEGINNER'), + ('철학 013 (이전 제목)', '사라질 위기의 언어는 의무 교육해야 할까?', NULL, 'INTERMEDIATE'), + ('사회 008 (이전 제목)', '노키즈존은 영업상의 자유일까?', NULL, 'BEGINNER'), + ('바이럴 007 (이전 제목)', '탕수육, 부먹인가 찍먹인가?', NULL, 'BEGINNER'), + ('바이럴 014 (이전 제목)', '축의금, 친한 만큼 낼까 형편만큼 낼까?', NULL, 'INTERMEDIATE'), + ('바이럴 019 (이전 제목)', '직장 동료 차 뒷좌석에 타는 건 비매너일까?', NULL, 'INTERMEDIATE'), + ('문학 005 (이전 제목)', '5분 요약으로 영화를 봤다고 해도 될까?', NULL, 'BEGINNER'), + ('바이럴 030 (이전 제목)', '불매운동은 소비자의 권리인가?', NULL, 'INTERMEDIATE'), + ('바이럴 026 (이전 제목)', '진격의 거인, 에렌은 영웅인가 학살자인가?', NULL, 'ADVANCED'), + ('바이럴 024 (이전 제목)', '부모의 극단적 개입, 사랑인가 착취인가?', NULL, 'INTERMEDIATE'); -- 제목은 공백·문장부호를 빼고 비교한다 CREATE TEMP TABLE battle_difficulty_match AS diff --git a/src/main/resources/db/migration/V20261107_rollback__battles_difficulty_plan.sql b/src/main/resources/db/migration/V20261107_rollback__battles_difficulty_plan.sql index 21b66203..925e75a7 100644 --- a/src/main/resources/db/migration/V20261107_rollback__battles_difficulty_plan.sql +++ b/src/main/resources/db/migration/V20261107_rollback__battles_difficulty_plan.sql @@ -131,7 +131,24 @@ INSERT INTO battle_difficulty_plan (plan_no, title, category, difficulty) VALUES ('문학 001 (이전 제목)', '역사 왜곡인가, 창작의 자유인가?', NULL, 'INTERMEDIATE'), ('예술 001 (이전 제목)', 'AI는 예술을 창작할 수 있는가?', NULL, 'INTERMEDIATE'), ('예술 003 (이전 제목)', '클래식은 고상하고 대중음악은 가벼운가?', NULL, 'BEGINNER'), - ('바이럴 004 (이전 제목)', '부모가 아이 이름에 종교적 의미를 담는 것은', NULL, 'INTERMEDIATE'); + ('바이럴 004 (이전 제목)', '부모가 아이 이름에 종교적 의미를 담는 것은', NULL, 'INTERMEDIATE'), + ('역사 002 (이전 제목)', '오펜하이머, 영웅인가 악마인가?', NULL, 'ADVANCED'), + ('문학 001 (이전 제목)', '역사 왜곡, 창작의 자유일까?', NULL, 'INTERMEDIATE'), + ('문학 006 (이전 제목)', '로미오와 줄리엣, 숭고한 로맨스인가?', NULL, 'INTERMEDIATE'), + ('사회 014 (이전 제목)', '외모도 실력일까?', NULL, 'BEGINNER'), + ('철학 023 (이전 제목)', '죽음을 앞둔 사람에게 진실을 말해야 할까?', NULL, 'ADVANCED'), + ('역사 005 (이전 제목)', '이방원, 폭군인가 혁명가인가?', NULL, 'INTERMEDIATE'), + ('철학 026 (이전 제목)', '일은 좋아하는 걸 택할까, 잘하는 걸 택할까?', NULL, 'BEGINNER'), + ('철학 025 (이전 제목)', '애인이 내 친구의 깻잎 떼줘도 괜찮을까?', NULL, 'BEGINNER'), + ('철학 013 (이전 제목)', '사라질 위기의 언어는 의무 교육해야 할까?', NULL, 'INTERMEDIATE'), + ('사회 008 (이전 제목)', '노키즈존은 영업상의 자유일까?', NULL, 'BEGINNER'), + ('바이럴 007 (이전 제목)', '탕수육, 부먹인가 찍먹인가?', NULL, 'BEGINNER'), + ('바이럴 014 (이전 제목)', '축의금, 친한 만큼 낼까 형편만큼 낼까?', NULL, 'INTERMEDIATE'), + ('바이럴 019 (이전 제목)', '직장 동료 차 뒷좌석에 타는 건 비매너일까?', NULL, 'INTERMEDIATE'), + ('문학 005 (이전 제목)', '5분 요약으로 영화를 봤다고 해도 될까?', NULL, 'BEGINNER'), + ('바이럴 030 (이전 제목)', '불매운동은 소비자의 권리인가?', NULL, 'INTERMEDIATE'), + ('바이럴 026 (이전 제목)', '진격의 거인, 에렌은 영웅인가 학살자인가?', NULL, 'ADVANCED'), + ('바이럴 024 (이전 제목)', '부모의 극단적 개입, 사랑인가 착취인가?', NULL, 'INTERMEDIATE'); -- 제목은 공백·문장부호를 빼고 비교한다 CREATE TEMP TABLE battle_difficulty_match AS