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..9c8c5c8da 100644 --- a/src/main/java/com/example/solidconnection/term/domain/Term.java +++ b/src/main/java/com/example/solidconnection/term/domain/Term.java @@ -31,19 +31,11 @@ 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; - } - - public void setAsCurrent() { - this.isCurrent = true; - } - - public void setAsNotCurrent() { - this.isCurrent = false; + this.isCurrent = isCurrent ? true : null; } } diff --git a/src/main/resources/db/migration/V46__add_unique_constraint_to_term_is_current.sql b/src/main/resources/db/migration/V46__add_unique_constraint_to_term_is_current.sql new file mode 100644 index 000000000..86ae721ef --- /dev/null +++ b/src/main/resources/db/migration/V46__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); 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();