스케쥴링을 통한 회원정보 삭제

Crow·2022년 10월 26일
0

Spring Boot

목록 보기
5/6

스케쥴링 필요한 이유
회원 로직 변경으로 회원탈퇴 요청시 회원 삭제 컬럼을 true로 바꾸고 동의한 개인정보 수집 기한까지 가지고 있다가 db에서 삭제하는 방식을 활용하려함

해당 방식을 사용하기 위해서 처음엔 mysql에 event를 활용하려고함

하지만 지인에게 도움을 구해서 알게된 Spring에 스케쥴러 로직 구현해보려고함


Spring Schedule 활용한 회원정보 삭제 로직 구상

  1. member 테이블에 삭제여부를 확인하는 del 컬럼과 법정 개인정보 보관일 컬럼인 Privacy_at를 추가로 등록함 (보통 특별한 이유가 없다면 6개월동안 보유)

  2. 회원 탈퇴시 먼저 부여한 Role을 삭제해서 앱에대한 접근을 금지시키고 del 컬럼을 true로 바꿈

  3. 이후 해당 서버 시간에 6개월을 더한 시간을 privacyDate컬럼에 저장

  4. Spring Scheduler를 이용해서 매일 12시에 del이 true이고 privacyDate컬럼에날짜가 과거인 컬럼의 id를 제외한 데이터를 null처리해줌
    (컬럼 자체를 삭제하지 않으려는 이유는 id값을 유지하기 위해서 내용만 날리려고 함)

여기서 고민해봐야 하는점이 id 값을 유지하는게
맞는방법인지 아니면 아예 칼럼을 날려야 하는지가 고민이 됨

profile
어제보다 개발 더 잘하기 / 많이 듣고 핵심만 정리해서 말하기 / 도망가지 말기 / 깃허브 위키 내용 가져오기

0개의 댓글