Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- JWT 쓰는 방법
- 부트캠프
- JWT
- Winston
- 게시글 이미지
- 이미지가 포함된 게시글
- 쿼리스트링
- element.style
- 환경변수
- 3계층구조
- getComputedStyle
- .env
- JWT 쓰는이유
- N+1
- secret코드
- 토큰
- N+1문제
- 메뉴바
- 알림생성모듈
- unnest
- 포트번호
- 패스파라미터
- 스테이지어스
- 레포지토리
- route 53
- 네비게이션 한번에
- JSON Web Token
- 알림생성
- 메뉴바 한번에
- 게시글 이미지 업로드
Archives
- Today
- Total
기주
[DB] soft delete 논리삭제 본문
프로젝트를 진행하던 중, 실제 서비스에서 쓰이는 바와 같이 soft delete를 사용하자는 의견이 나왔다.
db에 저장된 내용을 물리적으로 삭제(hard delete)하는 것이아니라, 논리적으로만 삭제함으로써,
데이터 삭제요청이 들어오더라도, 그 요청을 서비스 내에서 수행함과 동시에, 실제 DB에는 과거에 생겼던 데이터 목록들
도 볼 수 있게된다.
그 결과 문제가 생겼을때, 데이터 복원이 가능하고, 데이터 변경이력, 데이터 삭제시간 등을 확인할 수 있는 장점이 있다.
구현이 어렵지도 않기때문에 바로 기획단계에서 바로 프로젝트에 도입했다.
DB에 테이블을 만들때 삭제여부를 확인할 수 있는 데이터속성 1개만 추가하면된다 (is_deleted)
데이터 속성 1개 만으로 데이터의 삭제여부, 삭제시간을 모두 알고 싶었기 때문에 deleted_at을 이용하였다
데이터 삭제정보표시)
- deleted_at : null : 삭제되지않음
- deleted_at : timestamp : 삭제됨, 삭제 시간

'TIL' 카테고리의 다른 글
Express static (0) | 2024.05.25 |
---|---|
[DB] 트랜잭션 동시에 실행해서 성능올리기 ( confilct serializable한 nonserial schedule을 허용하기 ) (0) | 2024.04.08 |
N+1 문제 해결하기 (0) | 2024.04.05 |
3계층구조) (0) | 2024.04.05 |
[DB] DB에서 특정한 형식으로 출력하기(시간, 문자열) (TO_CHAR()이용하기), 타임존 설정하기 (0) | 2024.04.05 |