원래 회원 정보로 이메일은 고유한 정보로 갖고자 unique로 설정했었다. 그런데 Soft delete를 적용한 후 회원 가입을 할 때 문제가 발생했다. 탈퇴 된 이메일로 재가입을 가능하게 하려고 했는데, 탈퇴 된 이메일이 DB에 남아있어 unique 조건에 위반된다는 것이다.MySQL의 Workbench에서 user의 indexes를 열어보니, 에러에서 나타난 ‘user.UK_ob8…’ 를 발견할 수 있었다.
email의 unique 제약 조건 문제가 맞았다. 위 제약 조건을 없애주기 위해 아래 쿼리를 수행했다.
drop index UK_ob8kqyqqgmefl0aco34akdtpe on user;
email에 대한 unique 조건이 없어졌다!
이 후 회원 가입 API를 다시 테스트 해보니 탈퇴한 이메일로도 재가입이 정상적으로 진행 됐다.