<aside> 💡 회원 탈퇴 기능을 구현하는 중, 일대다 관계로 연결된 댓글 테이블의 Cascade 조건 때문에 탈퇴 시 오류가 발생했습니다. 이를 해결하기 위해 Spring에서 멤버 삭제 로직에 연관된 플레이리스트와 댓글을 모두 삭제하는 방법을 사용했습니다.
</aside>
회원 탈퇴 기능을 구현하던 중, 특정 사용자를 삭제하려고 하면 다음과 같은 오류 메시지가 발생했습니다:
이 문제는 member 테이블과 comment 테이블이 일대다 관계로 연결되어 있으며, member를 삭제할 때 comment 테이블의 데이터도 같이 삭제되도록 설정된 Cascade 조건 때문이었습니다.
문제의 원인을 파악하기 위해 다음과 같은 초기 분석을 진행했습니다:
member 테이블과 comment 테이블 간의 외래 키 관계 확인분석 결과, member 테이블의 레코드를 삭제할 때 관련된 comment 테이블의 레코드가 제대로 삭제되지 않아서 오류가 발생하는 것을 확인했습니다.
문제의 원인을 더욱 명확히 하기 위해 다음과 같은 진단을 진행했습니다:
member와 comment 테이블의 관계와 제약 조건을 다시 검토했습니다.comment 테이블의 외래 키 제약 조건에서 Cascade 삭제가 제대로 설정되었는지 확인했습니다.