Skip to content

[Fix] 회원탈퇴 시 course_difficulty_feedbacks FK 제약 위반 500 에러 수정#168

Merged
pooreumjung merged 3 commits into
developfrom
fix/#167-withdraw-fk-constraint
May 30, 2026
Merged

[Fix] 회원탈퇴 시 course_difficulty_feedbacks FK 제약 위반 500 에러 수정#168
pooreumjung merged 3 commits into
developfrom
fix/#167-withdraw-fk-constraint

Conversation

@pooreumjung

Copy link
Copy Markdown
Member

🧾 요약

  • 회원탈퇴(DELETE /api/auth/withdraw) 시 hiking_records 삭제 전 course_difficulty_feedbacks를 먼저 삭제하지 않아 FK 제약 위반으로 500 에러가 발생하던 버그 수정

🔗 이슈

✨ 변경 내용

  • UserService 탈퇴 로직에 course_difficulty_feedbacks 삭제 순서 추가 — hiking_records 삭제 전에 선행 처리
  • CourseDifficultyFeedbackRepositorydeleteByUser_Id, deleteByHikingRecord_IdIn 메서드 추가
  • UserServiceTest에 삭제 순서 InOrder 검증 추가

✅ 확인

  • 빌드 OK
  • 테스트 OK

@coderabbitai

coderabbitai Bot commented May 30, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: d5a0480f-c8ee-4fdf-8110-9c15e28e3fe1

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/#167-withdraw-fk-constraint

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

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

본 PR은 회원 탈퇴 과정에서 발생하는 외래 키 제약 조건 위반 문제를 해결합니다. 기존에는 hiking_records를 삭제할 때 참조 관계에 있는 course_difficulty_feedbacks가 먼저 처리되지 않아 서버 오류가 발생했습니다. 이를 해결하기 위해 삭제 순서를 조정하고 관련 레포지토리 메서드를 추가하여 데이터 무결성을 확보했습니다.

Highlights

  • 버그 수정: 회원 탈퇴 시 발생하는 FK 제약 위반 500 에러를 해결하기 위해 course_difficulty_feedbacks 삭제 로직을 추가했습니다.
  • 데이터 삭제 순서 최적화: hiking_records 삭제 전 관련 피드백 데이터를 먼저 삭제하도록 UserService의 탈퇴 로직을 수정했습니다.
  • 테스트 검증 강화: UserServiceTest에 InOrder 검증을 추가하여 데이터 삭제 순서가 올바르게 수행되는지 확인했습니다.
New Features

🧠 You can now enable Memory (public preview) to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@pooreumjung pooreumjung self-assigned this May 30, 2026
@pooreumjung pooreumjung added the bug Something isn't working label May 30, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request adds functionality to delete a user's course difficulty feedback records during the user withdrawal process. It introduces new deletion methods in CourseDifficultyFeedbackRepository, integrates them into UserService, and updates the corresponding unit tests. The review feedback recommends optimizing these deletion methods using @Modifying and @Query to perform bulk deletes, preventing potential performance issues caused by Spring Data JPA's default select-before-delete behavior.

@pooreumjung
pooreumjung merged commit 0955852 into develop May 30, 2026
1 check passed
@howooyeon
howooyeon deleted the fix/#167-withdraw-fk-constraint branch June 3, 2026 15:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[fix] 회원탈퇴 시 course_difficulty_feedbacks 미삭제로 인한 FK 제약 위반 500 에러

1 participant