fix: 동아리 정보 수정 요청에서 이모지 제외#651
Conversation
- 이모지는 기획상 수정 대상이 아니므로 수정 요청 DTO와 알림 payload에서 제외 - 수정 요청 저장 시 이모지 값을 요구하지 않도록 엔티티와 서비스 흐름을 정리 - 기존 수정 요청 테이블의 이모지 컬럼을 후속 마이그레이션으로 제거해 저장 실패를 방지
📝 WalkthroughWalkthrough이 PR은 동아리 정보 수정 요청에서 emoji 필드를 제거합니다. DTO, 도메인 모델, 이벤트, Slack 서비스 통합, 데이터베이스 마이그레이션, 관련 테스트를 모두 업데이트하여 emoji 필드 제거를 완성합니다. ChangesClub Emoji Field Removal
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Suggested labels
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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/resources/db/migration/V84__drop_club_information_update_request_emoji.sql`:
- Around line 1-2: The migration
V84__drop_club_information_update_request_emoji.sql drops the club_emoji column
from club_information_update_request with no rollback or runbook; add a
reversible path by either (a) creating a companion rollback migration that
re-creates club_emoji with the original type and restores data from a backup
table, or (b) modify the migration process to perform a safe multi-step deploy:
first deploy an app change that stops using club_emoji, then add a migration
that copies club_emoji to a temp table/column (preserving values), then drop the
column in a follow-up migration, and include a runbook in the PR describing the
app-first deployment order and recovery steps; reference the table name
club_information_update_request and column club_emoji in the migration/runbook
and ensure the rollback migration restores schema and data types exactly.
🪄 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: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 825dafd1-3dfc-467f-b803-6015bada1610
📒 Files selected for processing (12)
src/main/java/gg/agit/konect/domain/club/dto/ClubInformationUpdateRequestDto.javasrc/main/java/gg/agit/konect/domain/club/event/ClubInformationUpdateRequestedEvent.javasrc/main/java/gg/agit/konect/domain/club/model/ClubInformationUpdateRequest.javasrc/main/java/gg/agit/konect/domain/club/service/ClubRegistrationRequestService.javasrc/main/java/gg/agit/konect/infrastructure/slack/enums/SlackMessageTemplate.javasrc/main/java/gg/agit/konect/infrastructure/slack/listener/ClubRegistrationRequestSlackListener.javasrc/main/java/gg/agit/konect/infrastructure/slack/service/SlackNotificationService.javasrc/main/resources/db/migration/V84__drop_club_information_update_request_emoji.sqlsrc/test/java/gg/agit/konect/integration/domain/club/ClubRegistrationRequestApiTest.javasrc/test/java/gg/agit/konect/unit/domain/club/service/ClubRegistrationRequestServiceTest.javasrc/test/java/gg/agit/konect/unit/infrastructure/slack/listener/ClubRegistrationRequestSlackListenerTest.javasrc/test/java/gg/agit/konect/unit/infrastructure/slack/service/SlackNotificationServiceTest.java
💤 Files with no reviewable changes (11)
- src/main/java/gg/agit/konect/domain/club/dto/ClubInformationUpdateRequestDto.java
- src/main/java/gg/agit/konect/domain/club/model/ClubInformationUpdateRequest.java
- src/main/java/gg/agit/konect/domain/club/service/ClubRegistrationRequestService.java
- src/main/java/gg/agit/konect/infrastructure/slack/service/SlackNotificationService.java
- src/test/java/gg/agit/konect/integration/domain/club/ClubRegistrationRequestApiTest.java
- src/test/java/gg/agit/konect/unit/domain/club/service/ClubRegistrationRequestServiceTest.java
- src/main/java/gg/agit/konect/infrastructure/slack/listener/ClubRegistrationRequestSlackListener.java
- src/test/java/gg/agit/konect/unit/infrastructure/slack/service/SlackNotificationServiceTest.java
- src/test/java/gg/agit/konect/unit/infrastructure/slack/listener/ClubRegistrationRequestSlackListenerTest.java
- src/main/java/gg/agit/konect/domain/club/event/ClubInformationUpdateRequestedEvent.java
- src/main/java/gg/agit/konect/infrastructure/slack/enums/SlackMessageTemplate.java
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: coverage
- GitHub Check: Analyze (java-kotlin)
🧰 Additional context used
📓 Path-based instructions (4)
**/db/migration/*.sql
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Flyway 마이그레이션 파일은 파일명 버전 순서, 기존 운영 데이터 backfill, NOT NULL 추가 순서, 기본값 처리를 확인한다
Files:
src/main/resources/db/migration/V84__drop_club_information_update_request_emoji.sql
**/*.{sql,java}
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
데이터베이스 변경에서는 마이그레이션 순서, 기존 데이터 호환성, nullable/default 처리, 롤백 난이도, 인덱스 필요성을 확인한다
Files:
src/main/resources/db/migration/V84__drop_club_information_update_request_emoji.sql
src/main/resources/db/migration/**/*.sql
⚙️ CodeRabbit configuration file
src/main/resources/db/migration/**/*.sql: Flyway 마이그레이션 리뷰 규칙:
- 버전 파일명 규칙(V{number}__{description}.sql) 위반 여부를 우선 확인한다.
- 이미 배포된 마이그레이션 수정/재번호 부여 위험이 있으면 반드시 차단 코멘트를 남긴다.
- 파괴적 변경(drop, rename 등)은 롤백 가능성과 운영 영향 관점에서 검토한다.
Files:
src/main/resources/db/migration/V84__drop_club_information_update_request_emoji.sql
**/*
⚙️ CodeRabbit configuration file
**/*: 공통 리뷰 톤 가이드:
- 모든 코멘트는 첫 줄에
[LEVEL: ...]태그를 포함한다.- 과장된 표현 없이 사실 기반으로 작성한다.
- 한 코멘트에는 하나의 이슈만 다룬다.
- 코드 예시가 필요하면 최소 수정 예시를 제시한다.
- 가독성/단순화/확장성 이슈를 발견하면 우선순위를 높여 코멘트한다.
Files:
src/main/resources/db/migration/V84__drop_club_information_update_request_emoji.sql
🧪 JaCoCo Coverage Report (Changed Files)Summary
Coverage by File
|
🔍 개요
🚀 주요 변경 내용
club_information_update_request.club_emoji컬럼을 후속 마이그레이션으로 제거했습니다.💬 참고 사항
./gradlew test --tests 'gg.agit.konect.unit.domain.club.service.ClubRegistrationRequestServiceTest' --tests 'gg.agit.konect.integration.domain.club.ClubRegistrationRequestApiTest' --tests 'gg.agit.konect.unit.infrastructure.slack.service.SlackNotificationServiceTest' --tests 'gg.agit.konect.unit.infrastructure.slack.listener.ClubRegistrationRequestSlackListenerTest'통과./gradlew checkstyleMain통과git diff --check통과checkstyleMain,compileJava가 통과했습니다.✅ Checklist (완료 조건)