From 5a11bc43de2791d9e1534926821ddfd0567289a2 Mon Sep 17 00:00:00 2001 From: seonghyeok Date: Sat, 24 Jan 2026 23:26:40 +0900 Subject: [PATCH 1/3] =?UTF-8?q?refactor:=20home=5Funiversity=EC=99=80=20un?= =?UTF-8?q?iversity=5Finfo=5Ffor=5Fapply=EA=B0=80=20FK=20=EA=B4=80?= =?UTF-8?q?=EA=B3=84=EB=A5=BC=20=EA=B0=80=EC=A7=80=EB=8F=84=EB=A1=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../university/domain/HostUniversity.java | 5 ----- .../university/domain/UnivApplyInfo.java | 3 +++ ...3__move_home_university_fk_to_univ_apply_info.sql | 12 ++++++++++++ 3 files changed, 15 insertions(+), 5 deletions(-) create mode 100644 src/main/resources/db/migration/V43__move_home_university_fk_to_univ_apply_info.sql diff --git a/src/main/java/com/example/solidconnection/university/domain/HostUniversity.java b/src/main/java/com/example/solidconnection/university/domain/HostUniversity.java index e36c2caa..3d817b45 100644 --- a/src/main/java/com/example/solidconnection/university/domain/HostUniversity.java +++ b/src/main/java/com/example/solidconnection/university/domain/HostUniversity.java @@ -8,9 +8,7 @@ import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; -import jakarta.persistence.FetchType; import jakarta.persistence.ManyToOne; -import jakarta.persistence.Table; import lombok.AccessLevel; import lombok.AllArgsConstructor; import lombok.Getter; @@ -58,7 +56,4 @@ public class HostUniversity extends BaseEntity { @ManyToOne private Region region; - - @ManyToOne(fetch = FetchType.LAZY) - private HomeUniversity homeUniversity; } diff --git a/src/main/java/com/example/solidconnection/university/domain/UnivApplyInfo.java b/src/main/java/com/example/solidconnection/university/domain/UnivApplyInfo.java index e4c089c6..a727a74e 100644 --- a/src/main/java/com/example/solidconnection/university/domain/UnivApplyInfo.java +++ b/src/main/java/com/example/solidconnection/university/domain/UnivApplyInfo.java @@ -36,6 +36,9 @@ public class UnivApplyInfo extends BaseEntity { @Column(nullable = false, name = "term_id") private long termId; + @Column(name = "home_university_id") + private Long homeUniversityId; + @Column(nullable = false, length = 100) private String koreanName; diff --git a/src/main/resources/db/migration/V43__move_home_university_fk_to_univ_apply_info.sql b/src/main/resources/db/migration/V43__move_home_university_fk_to_univ_apply_info.sql new file mode 100644 index 00000000..36ba62a9 --- /dev/null +++ b/src/main/resources/db/migration/V43__move_home_university_fk_to_univ_apply_info.sql @@ -0,0 +1,12 @@ +ALTER TABLE host_university + DROP FOREIGN KEY fk_host_university_home_university; + +ALTER TABLE host_university + DROP COLUMN home_university_id; + +ALTER TABLE university_info_for_apply + ADD COLUMN home_university_id BIGINT NULL; + +ALTER TABLE university_info_for_apply + ADD CONSTRAINT fk_university_info_for_apply_home_university + FOREIGN KEY (home_university_id) REFERENCES home_university (id) ON DELETE NO ACTION; From ff30af83ff440ae185b0cc28a8852269896bf426 Mon Sep 17 00:00:00 2001 From: seonghyeok Date: Sat, 24 Jan 2026 23:29:17 +0900 Subject: [PATCH 2/3] =?UTF-8?q?chore:=20FK=20=EB=B3=80=EA=B2=BD=EC=97=90?= =?UTF-8?q?=20=EB=94=B0=EB=A5=B8=20=EB=AA=A9=EB=8D=B0=EC=9D=B4=ED=84=B0=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/data.sql | 38 ++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql index 0f46eba1..ce4fca9c 100644 --- a/src/main/resources/data.sql +++ b/src/main/resources/data.sql @@ -50,100 +50,100 @@ VALUES ('test@test.email', 'yonso', 'https://github.com/nayonsoso.png', INSERT INTO home_university (id, name) VALUES (1, '인하대학교'); -INSERT INTO host_university(id, home_university_id, country_code, region_code, english_name, format_name, korean_name, +INSERT INTO host_university(id, country_code, region_code, english_name, format_name, korean_name, accommodation_url, english_course_url, homepage_url, details_for_local, logo_image_url, background_image_url) -VALUES (1, 1, 'US', 'AMERICAS', 'University of Guam', 'university_of_guam', '괌대학', +VALUES (1, 'US', 'AMERICAS', 'University of Guam', 'university_of_guam', '괌대학', 'https://www.uog.edu/life-at-uog/residence-halls/', 'https://www.uog.edu/admissions/course-schedule', 'https://www.uog.edu/admissions/international-students', NULL, 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/university_of_guam/logo.png', 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/university_of_guam/1.png'), - (2, 1, 'US', 'AMERICAS', 'University of Nevada, Las Vegas', 'university_of_nevada_las_vegas', '네바다주립대학 라스베이거스', + (2, 'US', 'AMERICAS', 'University of Nevada, Las Vegas', 'university_of_nevada_las_vegas', '네바다주립대학 라스베이거스', 'https://www.unlv.edu/housing', 'https://www.unlv.edu/engineering/academic-programs', 'https://www.unlv.edu/engineering/eip', NULL, 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/university_of_nevada_las_vegas/logo.png', 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/university_of_nevada_las_vegas/1.png'), - (3, 1, 'CA', 'AMERICAS', 'Memorial University of Newfoundland St. John''s', + (3, 'CA', 'AMERICAS', 'Memorial University of Newfoundland St. John''s', 'memorial_university_of_newfoundland_st_johns', '메모리얼 대학 세인트존스', 'https://www.mun.ca/residences/', 'https://www.mun.ca/regoff/registration-and-final-exams/course-offerings/', 'https://mun.ca/goabroad/visiting-students-inbound/', NULL, 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/memorial_university_of_newfoundland_st_johns/logo.png', 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/memorial_university_of_newfoundland_st_johns/1.png'), - (4, 1, 'AU', 'AMERICAS', 'University of Southern Queensland', 'university_of_southern_queensland', '서던퀸스랜드대학', + (4, 'AU', 'AMERICAS', 'University of Southern Queensland', 'university_of_southern_queensland', '서던퀸스랜드대학', 'https://www.unisq.edu.au/current-students/support/accommodation', 'https://www.unisq.edu.au/course/specification/current/', 'https://www.unisq.edu.au/international/partnerships/study-abroad-exchange', NULL, 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/university_of_southern_queensland/logo.png', 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/university_of_southern_queensland/1.png'), - (5, 1, 'AU', 'AMERICAS', 'University of Sydney', 'university_of_sydney', '시드니대학', + (5, 'AU', 'AMERICAS', 'University of Sydney', 'university_of_sydney', '시드니대학', 'https://www.sydney.edu.au/study/accommodation.html', 'www.sydney.edu.au/sydney-abroad-units', 'https://www.sydney.edu.au/', NULL, 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/university_of_sydney/logo.png', 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/university_of_sydney/1.png'), - (6, 1, 'AU', 'AMERICAS', 'Curtin University', 'curtin_university', '커틴대학', + (6, 'AU', 'AMERICAS', 'Curtin University', 'curtin_university', '커틴대학', 'https://www.curtin.edu.au/study/campus-life/accommodation/#perth', 'https://handbook.curtin.edu.au/', 'https://www.curtin.edu.au/', NULL, 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/curtin_university/logo.png', 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/curtin_university/1.png'), - (7, 1, 'DK', 'EUROPE', 'University of Southern Denmark', 'university_of_southern_denmark', '서던덴마크대학교', + (7, 'DK', 'EUROPE', 'University of Southern Denmark', 'university_of_southern_denmark', '서던덴마크대학교', 'https://www.sdu.dk/en/uddannelse/information_for_international_students/studenthousing', 'https://www.sdu.dk/en/uddannelse/exchange_programmes', 'https://www.sdu.dk/en', NULL, 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/university_of_southern_denmark/logo.png', 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/university_of_southern_denmark/1.png'), - (8, 1, 'DK', 'EUROPE', 'IT University of Copenhagen', 'it_university_of_copenhagen', '코펜하겐 IT대학', + (8, 'DK', 'EUROPE', 'IT University of Copenhagen', 'it_university_of_copenhagen', '코펜하겐 IT대학', 'https://en.itu.dk/Programmes/Student-Life/Practical-information-for-international-students', 'https://en.itu.dk/Programmes/Exchange-students/Become-an-exchange-student-at-ITU', 'https://en.itu.dk/programmes/exchange-students/become-an-exchange-student-at-itu', NULL, 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/it_university_of_copenhagen/logo.png', 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/it_university_of_copenhagen/1.png'), - (9, 1, 'DE', 'EUROPE', 'Neu-Ulm University of Applied Sciences', 'neu-ulm_university_of_applied_sciences', + (9, 'DE', 'EUROPE', 'Neu-Ulm University of Applied Sciences', 'neu-ulm_university_of_applied_sciences', '노이울름 대학', 'https://www.hnu.de/fileadmin/user_upload/5_Internationales/International_Incomings/Bewerbung/Housing_Broschure.pdf', 'https://www.hnu.de/en/international/international-exchange-students/courses-taught-in-english', 'https://www.hnu.de/en/international', NULL, 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/neu-ulm_university_of_applied_sciences/logo.png', 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/neu-ulm_university_of_applied_sciences/1.png'), - (10, 1, 'GB', 'EUROPE', 'University of Hull', 'university_of_hull', '헐대학', + (10, 'GB', 'EUROPE', 'University of Hull', 'university_of_hull', '헐대학', 'https://www.hull.ac.uk/Choose-Hull/Student-life/Accommodation/accommodation.aspx', 'https://universityofhull.app.box.com/s/mpvulz3yz0uijdt68rybce19nek0d8eh', 'https://www.hull.ac.uk/choose-hull/study-at-hull/need-to-know/key-dates', NULL, 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/university_of_hull/logo.png', 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/university_of_hull/1.png'), - (11, 1, 'AT', 'EUROPE', 'University of Graz', 'university_of_graz', '그라츠 대학', + (11, 'AT', 'EUROPE', 'University of Graz', 'university_of_graz', '그라츠 대학', 'https://orientation.uni-graz.at/de/planning-the-arrival/accommodation/', 'https://static.uni-graz.at/fileadmin/veranstaltungen/orientation/documents/incstud_application-courses.pdf', 'https://www.uni-graz.at/en/', NULL, 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/university_of_graz/logo.png', 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/university_of_graz/1.png'), - (12, 1, 'AT', 'EUROPE', 'Graz University of Technology', 'graz_university_of_technology', '그라츠공과대학', + (12, 'AT', 'EUROPE', 'Graz University of Technology', 'graz_university_of_technology', '그라츠공과대학', 'https://www.tugraz.at/en/studying-and-teaching/studying-internationally/incoming-students-exchange-at-tu-graz/your-stay-at-tu-graz/preparation#c75033', 'https://tugraz.at/go/search-courses', 'https://www.tugraz.at/en/home', NULL, 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/graz_university_of_technology/logo.png', 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/graz_university_of_technology/1.png'), - (13, 1, 'AT', 'EUROPE', 'Catholic Private University Linz', 'catholic_private_university_linz', '린츠 카톨릭 대학교', NULL, + (13, 'AT', 'EUROPE', 'Catholic Private University Linz', 'catholic_private_university_linz', '린츠 카톨릭 대학교', NULL, 'https://ku-linz.at/en/ku_international/incomings/kulis', 'https://ku-linz.at/en', NULL, 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/catholic_private_university_linz/logo.png', 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/catholic_private_university_linz/1.png'), - (14, 1, 'AT', 'EUROPE', 'University of Applied Sciences Technikum Wien', + (14, 'AT', 'EUROPE', 'University of Applied Sciences Technikum Wien', 'university_of_applied_sciences_technikum_wien', '빈 공과대학교', NULL, 'https://www.technikum-wien.at/en/international/student-mobility/', 'https://www.technikum-wien.at/international/studierendenmobilitaet-2/', NULL, 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/university_of_applied_sciences_technikum_wien/logo.png', 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/university_of_applied_sciences_technikum_wien/1.png'), - (15, 1, 'FR', 'EUROPE', 'IPSA', 'ipsa', 'IPSA', 'https://www.ipsa.fr/en/student-life/pratical-information/', NULL, + (15, 'FR', 'EUROPE', 'IPSA', 'ipsa', 'IPSA', 'https://www.ipsa.fr/en/student-life/pratical-information/', NULL, 'https://www.ipsa.fr/en/engineering-school/aeronautical-space', NULL, 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/ipsa/logo.png', 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/ipsa/1.png'), - (16, 1, 'JP', 'ASIA', 'Meiji University', 'meiji_university', '메이지대학', + (16, 'JP', 'ASIA', 'Meiji University', 'meiji_university', '메이지대학', 'https://www.meiji.ac.jp/cip/english/admissions/co7mm90000000461-att/co7mm900000004fa.pdf', NULL, 'https://www.meiji.ac.jp/cip/english/admissions/co7mm90000000461-att/co7mm900000004fa.pdf', NULL, 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/meiji_university/logo.png', 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/meiji_university/1.png'), - (17, 1, 'JP', 'ASIA', 'BAIKA Women''s University', 'baika_womens_university', '바이카여자대학', + (17, 'JP', 'ASIA', 'BAIKA Women''s University', 'baika_womens_university', '바이카여자대학', 'https://dormy-ac.com/page/baika/', NULL, 'https://www.baika.ac.jp/english/', NULL, 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/baika_womens_university/logo.png', 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/baika_womens_university/1.png'), - (18, 1, 'JP', 'ASIA', 'Bunkyo Gakuin University', 'bunkyo_gakuin_university', '분쿄가쿠인대학', NULL, NULL, + (18, 'JP', 'ASIA', 'Bunkyo Gakuin University', 'bunkyo_gakuin_university', '분쿄가쿠인대학', NULL, NULL, 'https://www.bgu.ac.jp/', NULL, 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/bunkyo_gakuin_university/logo.png', 'https://solid-connection.s3.ap-northeast-2.amazonaws.com/original/bunkyo_gakuin_university/1.png'); From 47d935dff01acf5d9e561f9602d6e5b151702caf Mon Sep 17 00:00:00 2001 From: seonghyeok Date: Sat, 24 Jan 2026 23:39:57 +0900 Subject: [PATCH 3/3] =?UTF-8?q?test:=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20?= =?UTF-8?q?=ED=94=BD=EC=8A=A4=ED=84=B0=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../university/fixture/UnivApplyInfoFixtureBuilder.java | 2 +- .../university/fixture/UniversityFixtureBuilder.java | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/test/java/com/example/solidconnection/university/fixture/UnivApplyInfoFixtureBuilder.java b/src/test/java/com/example/solidconnection/university/fixture/UnivApplyInfoFixtureBuilder.java index b9002d9d..f304c2bd 100644 --- a/src/test/java/com/example/solidconnection/university/fixture/UnivApplyInfoFixtureBuilder.java +++ b/src/test/java/com/example/solidconnection/university/fixture/UnivApplyInfoFixtureBuilder.java @@ -41,7 +41,7 @@ public UnivApplyInfoFixtureBuilder university(HostUniversity university) { public UnivApplyInfo create() { UnivApplyInfo univApplyInfo = new UnivApplyInfo( - null, termId, koreanName, 1, HOME_UNIVERSITY_PAYMENT, ONE_SEMESTER, + null, termId, null, koreanName, 1, HOME_UNIVERSITY_PAYMENT, ONE_SEMESTER, "1", "detailsForLanguage", "gpaRequirement", "gpaRequirementCriteria", "detailsForApply", "detailsForMajor", "detailsForAccommodation", "detailsForEnglishCourse", "details", diff --git a/src/test/java/com/example/solidconnection/university/fixture/UniversityFixtureBuilder.java b/src/test/java/com/example/solidconnection/university/fixture/UniversityFixtureBuilder.java index 9b4b9a67..a656bfe2 100644 --- a/src/test/java/com/example/solidconnection/university/fixture/UniversityFixtureBuilder.java +++ b/src/test/java/com/example/solidconnection/university/fixture/UniversityFixtureBuilder.java @@ -51,8 +51,7 @@ public HostUniversity create() { "https://accommodation-url", "https://logo-image-url", "https://background-image-url", - null, country, region, - null + null, country, region ); return hostUniversityRepository.save(university); }