From 2ee6b6799b76ef89625e75bc983af3e4a000cb05 Mon Sep 17 00:00:00 2001 From: seonghyeok Date: Tue, 10 Feb 2026 21:05:57 +0900 Subject: [PATCH 1/4] =?UTF-8?q?fix:=20is=5Fcurrent=20=ED=95=84=EB=93=9C?= =?UTF-8?q?=EC=97=90=20UK=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/solidconnection/term/domain/Term.java | 8 ++++---- .../V45__add_unique_constraint_to_term_is_current.sql | 9 +++++++++ 2 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 src/main/resources/db/migration/V45__add_unique_constraint_to_term_is_current.sql diff --git a/src/main/java/com/example/solidconnection/term/domain/Term.java b/src/main/java/com/example/solidconnection/term/domain/Term.java index 07d9269e1..b8501ff89 100644 --- a/src/main/java/com/example/solidconnection/term/domain/Term.java +++ b/src/main/java/com/example/solidconnection/term/domain/Term.java @@ -31,12 +31,12 @@ public class Term { @Column(length = 20) private String name; - @Column(name = "is_current", nullable = false) - private boolean isCurrent = false; + @Column(name = "is_current", unique = true) + private Boolean isCurrent; public Term(String name, boolean isCurrent) { this.name = name; - this.isCurrent = isCurrent; + this.isCurrent = isCurrent ? true : null; } public void setAsCurrent() { @@ -44,6 +44,6 @@ public void setAsCurrent() { } public void setAsNotCurrent() { - this.isCurrent = false; + this.isCurrent = null; } } diff --git a/src/main/resources/db/migration/V45__add_unique_constraint_to_term_is_current.sql b/src/main/resources/db/migration/V45__add_unique_constraint_to_term_is_current.sql new file mode 100644 index 000000000..86ae721ef --- /dev/null +++ b/src/main/resources/db/migration/V45__add_unique_constraint_to_term_is_current.sql @@ -0,0 +1,9 @@ +ALTER TABLE term + MODIFY COLUMN is_current BOOLEAN NULL DEFAULT NULL; + +UPDATE term +SET is_current = NULL +WHERE is_current = FALSE; + +ALTER TABLE term + ADD CONSTRAINT uk_term_is_current UNIQUE (is_current); From 135112c49cf46af581d941d3f7289fd19ceac854 Mon Sep 17 00:00:00 2001 From: seonghyeok Date: Tue, 10 Feb 2026 21:30:52 +0900 Subject: [PATCH 2/4] =?UTF-8?q?test:=20UK=20=EC=84=A4=EC=A0=95=EC=97=90=20?= =?UTF-8?q?=EB=94=B0=EB=A5=B8=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EB=B6=88=EC=9D=BC=EC=B9=98=EC=84=B1=20=ED=95=B4?= =?UTF-8?q?=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../solidconnection/mentor/service/MentorQueryServiceTest.java | 2 +- .../solidconnection/siteuser/service/MyPageServiceTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/example/solidconnection/mentor/service/MentorQueryServiceTest.java b/src/test/java/com/example/solidconnection/mentor/service/MentorQueryServiceTest.java index b07f981dc..208de47fc 100644 --- a/src/test/java/com/example/solidconnection/mentor/service/MentorQueryServiceTest.java +++ b/src/test/java/com/example/solidconnection/mentor/service/MentorQueryServiceTest.java @@ -60,7 +60,7 @@ class MentorQueryServiceTest { @BeforeEach void setUp() { - termFixture.현재_학기("2025-2"); + termFixture.현재_학기("2025-1"); university = universityFixture.그라츠_대학(); } diff --git a/src/test/java/com/example/solidconnection/siteuser/service/MyPageServiceTest.java b/src/test/java/com/example/solidconnection/siteuser/service/MyPageServiceTest.java index 360afc640..89180fe41 100644 --- a/src/test/java/com/example/solidconnection/siteuser/service/MyPageServiceTest.java +++ b/src/test/java/com/example/solidconnection/siteuser/service/MyPageServiceTest.java @@ -114,7 +114,7 @@ class MyPageServiceTest { @BeforeEach void setUp() { user = siteUserFixture.사용자(); - term = termFixture.현재_학기("2025-2"); + term = termFixture.현재_학기("2025-1"); UnivApplyInfo 괌대학_A_지원_정보 = univApplyInfoFixture.괌대학_A_지원_정보(term.getId()); 괌대학_A_지원_정보_ID = 괌대학_A_지원_정보.getId(); 괌대학 = 괌대학_A_지원_정보.getUniversity(); From d0ae7f341ad896136ea0836c1b4fea592d81e01f Mon Sep 17 00:00:00 2001 From: seonghyeok Date: Tue, 10 Feb 2026 22:27:15 +0900 Subject: [PATCH 3/4] =?UTF-8?q?chore:=20=EC=8A=A4=ED=81=AC=EB=A6=BD?= =?UTF-8?q?=ED=8A=B8=20=EB=B2=84=EC=A0=84=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...rent.sql => V46__add_unique_constraint_to_term_is_current.sql} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/main/resources/db/migration/{V45__add_unique_constraint_to_term_is_current.sql => V46__add_unique_constraint_to_term_is_current.sql} (100%) diff --git a/src/main/resources/db/migration/V45__add_unique_constraint_to_term_is_current.sql b/src/main/resources/db/migration/V46__add_unique_constraint_to_term_is_current.sql similarity index 100% rename from src/main/resources/db/migration/V45__add_unique_constraint_to_term_is_current.sql rename to src/main/resources/db/migration/V46__add_unique_constraint_to_term_is_current.sql From 2ab3760edbdf1708a87b4aae31d07efcdeb373d3 Mon Sep 17 00:00:00 2001 From: seonghyeok Date: Tue, 10 Feb 2026 23:09:43 +0900 Subject: [PATCH 4/4] =?UTF-8?q?refactor:=20=EB=AF=B8=EC=82=AC=EC=9A=A9=20?= =?UTF-8?q?=EC=BD=94=EB=93=9C=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/solidconnection/term/domain/Term.java | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/main/java/com/example/solidconnection/term/domain/Term.java b/src/main/java/com/example/solidconnection/term/domain/Term.java index b8501ff89..9c8c5c8da 100644 --- a/src/main/java/com/example/solidconnection/term/domain/Term.java +++ b/src/main/java/com/example/solidconnection/term/domain/Term.java @@ -38,12 +38,4 @@ public Term(String name, boolean isCurrent) { this.name = name; this.isCurrent = isCurrent ? true : null; } - - public void setAsCurrent() { - this.isCurrent = true; - } - - public void setAsNotCurrent() { - this.isCurrent = null; - } }