Skip to content

refactor: 지원 대학 테이블 컬럼 스키마 변경 - #822

Merged
whqtker merged 1 commit into
developfrom
feature/821-expand-university-application-requirements
Aug 2, 2026
Merged

refactor: 지원 대학 테이블 컬럼 스키마 변경#822
whqtker merged 1 commit into
developfrom
feature/821-expand-university-application-requirements

Conversation

@whqtker

@whqtker whqtker commented Aug 2, 2026

Copy link
Copy Markdown
Member

관련 이슈

작업 내용

지원 대학 테이블 컬럼 스키마 수정했습니다.
length가 너무 작아 잘립니다.

특이 사항

리뷰 요구사항 (선택)

@whqtker whqtker self-assigned this Aug 2, 2026
@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

  1. 컬럼 길이 확장

    • semesterRequirementgpaRequirement의 최대 길이를 2000자로 변경했습니다.
    • detailsForLanguage의 최대 길이를 4000자로 변경했습니다.
    • 데이터베이스 마이그레이션을 추가했습니다.
  2. 입력 검증 테스트 갱신

    • 초과 입력 테스트 기준을 101자에서 2001자로 변경했습니다.
    • CustomException 발생과 데이터 미저장 검증은 유지했습니다.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: hexeong, wibaek, gyuhyeok99

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed 제목이 지원 대학 테이블 컬럼 스키마 변경이라는 주요 변경 사항을 명확하게 설명합니다.
Description check ✅ Passed 관련 이슈와 작업 내용이 작성되어 있으며, 변경 목적과 영향이 간단히 설명되어 있습니다.
Linked Issues check ✅ Passed 변경 사항이 이슈 #821의 지원 대학 테이블 컬럼 스키마 수정 목적에 부합합니다.
Out of Scope Changes check ✅ Passed 모든 변경 사항이 컬럼 길이 확장, 마이그레이션, 모델 및 테스트 수정 범위에 포함됩니다.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/821-expand-university-application-requirements

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@src/main/java/com/example/solidconnection/admin/university/service/AdminUnivApplyInfoRowSaver.java`:
- Around line 129-131: Add shared length validation for semesterRequirement,
detailsForLanguage, and gpaRequirement in the AdminUnivApplyInfoCreateRequest
and AdminUnivApplyInfoUpdateRequest flows before entity creation or update(...).
Enforce maximum lengths of 2000, 4000, and 2000 respectively, matching the
entity column constraints and the existing applyWithLength handling.

In
`@src/test/java/com/example/solidconnection/admin/university/service/AdminUnivApplyInfoServiceTest.java`:
- Line 385: Update the relevant tests in AdminUnivApplyInfoServiceTest to cover
maximum-length boundary values and over-limit values for semesterRequirement and
gpaRequirement at 2000/2001 characters, and detailsForLanguage at 4000/4001
characters. Change the existing tooLong value currently using 101 characters to
2001 so it still exercises the length-validation error.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 8dd1ec8e-d46e-4a2e-a0b1-ebf9bbabbc14

📥 Commits

Reviewing files that changed from the base of the PR and between 5e577bf and 482f603.

📒 Files selected for processing (4)
  • src/main/java/com/example/solidconnection/admin/university/service/AdminUnivApplyInfoRowSaver.java
  • src/main/java/com/example/solidconnection/university/domain/UnivApplyInfo.java
  • src/main/resources/db/migration/V58__extend_univ_apply_info_requirement_columns.sql
  • src/test/java/com/example/solidconnection/admin/university/service/AdminUnivApplyInfoServiceTest.java

Comment on lines +129 to +131
case "semesterRequirement" -> applyWithLength(value, 2000, s -> data.semesterRequirement = s);
case "detailsForLanguage" -> applyWithLength(value, 4000, s -> data.detailsForLanguage = s);
case "gpaRequirement" -> applyWithLength(value, 2000, s -> data.gpaRequirement = s);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

rg -n -C 4 \
  '`@Size`|semesterRequirement|detailsForLanguage|gpaRequirement|AdminUnivApplyInfo(Create|Update)Request' \
  src/main/java

Repository: solid-connection/solid-connect-server

Length of output: 50393


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== candidate DTO and service files =="
fd 'AdminUnivApplyInfo(Create|Update)Request\.java|AdminUnivApplyInfoService\.java|AdminUnivApplyInfoRowSaver\.java|UnivApplyInfoImportRequest\.java' src/main/java -X sh -c 'echo "--- $1"; wc -l "$1"; sed -n "1,180p" "$1"' sh {}

echo
echo "== service call sites =="
rg -n -C 3 'createUnivApplyInfo|updateUnivApplyInfo|semesterRequirement|detailsForLanguage|gpaRequirement' src/main/java/com/example/solidconnection/admin/university/service/AdminUnivApplyInfoService.java

Repository: solid-connection/solid-connect-server

Length of output: 10593


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== AdminUnivApplyInfoCreateRequest.java =="
sed -n '1,120p' src/main/java/com/example/solidconnection/admin/university/dto/AdminUnivApplyInfoCreateRequest.java

echo
echo "== AdminUnivApplyInfoUpdateRequest.java =="
sed -n '1,140p' src/main/java/com/example/solidconnection/admin/university/dto/AdminUnivApplyInfoUpdateRequest.java

echo
echo "== UnivApplyInfo entity =="
sed -n '1,140p' src/main/java/com/example/solidconnection/university/domain/UnivApplyInfo.java

Repository: solid-connection/solid-connect-server

Length of output: 5965


1. 직접 생성·수정 경로의 문자열 길이 검증을 추가해 주세요.

  1. AdminUnivApplyInfoCreateRequestAdminUnivApplyInfoUpdateRequestsemesterRequirement, detailsForLanguage, gpaRequirement@Size가 없습니다.
  2. 엔티티는 해당 컬럼을 length=2000, 4000, 2000으로 제한해 둡니다.
  3. 엔티티를 생성하거나 update(...) 호출 때 같은 검증을 공통 로직으로 추가해 주세요.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@src/main/java/com/example/solidconnection/admin/university/service/AdminUnivApplyInfoRowSaver.java`
around lines 129 - 131, Add shared length validation for semesterRequirement,
detailsForLanguage, and gpaRequirement in the AdminUnivApplyInfoCreateRequest
and AdminUnivApplyInfoUpdateRequest flows before entity creation or update(...).
Enforce maximum lengths of 2000, 4000, and 2000 respectively, matching the
entity column constraints and the existing applyWithLength handling.

void 길이_제한을_초과하는_값이_들어오면_전체가_실패한다() {
// given
String tooLongValue = "a".repeat(101);
String tooLongValue = "a".repeat(2001);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

1. 세 필드의 경계값과 초과값을 모두 검증해 주세요.

현재 테스트는 semesterRequirement의 2001자 초과만 검증합니다. detailsForLanguage의 4001자 초과, gpaRequirement의 2001자 초과, 각 필드의 최대 허용 길이 저장도 추가해 주세요.

또한 Line [405]의 String tooLong = "a".repeat(101)은 새 제한에서 더 이상 초과값이 아닙니다. 해당 테스트가 길이 오류도 검증하려면 2001자로 변경해야 합니다.

제안
-            String tooLong = "a".repeat(101);
+            String tooLong = "a".repeat(2001);
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@src/test/java/com/example/solidconnection/admin/university/service/AdminUnivApplyInfoServiceTest.java`
at line 385, Update the relevant tests in AdminUnivApplyInfoServiceTest to cover
maximum-length boundary values and over-limit values for semesterRequirement and
gpaRequirement at 2000/2001 characters, and detailsForLanguage at 4000/4001
characters. Change the existing tooLong value currently using 101 characters to
2001 so it still exercises the length-validation error.

@whqtker
whqtker merged commit a69ca4b into develop Aug 2, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

refactor: 지원 대학 테이블 컬럼 스키마 수정

1 participant