Wecode -기업협업 인턴 (부트캠프)/기업협업 인턴(프로젝트)
soft delete로 short url 삭제 추가 (orm, queryBuilder)
Queen Julia
2023. 11. 16. 17:50
url.service
orm 쓰는 방법
찾은 URL 엔터티의
deletedAt
속성을 현재 날짜 및 시간으로 설정합니다. 이것은 소프트 삭제(soft delete)의 일종으로, 실제로 데이터를 삭제하는 대신 삭제 시각을 기록하여 데이터를 보존하는 방식
위에서, 혹시 deletedAt에 해당되는 칼럼을 만들어주지 않은 상태라면
entity 를 통해 만들 수 있다.
(나는 mysql로 처음부터 만들었다,, 근데, 아래와 같이 name 을 추가할 수 있길래
name으로 칼럼명을 바꿔서 코드를 쳐보니, sync가 되어 있어서인지
데이터베이스에 연결되어 반영되었다)
createQuery Builder로도 가능하다url.service.js
query builder던
urlEntity 에서 findOne으로 가져온다는건, select한다는거니까 = orm 쓰는 것.
urlEntity에서 import하고 있으면, query builder service에서 그냥 쓰면 됨.
-
query builder던 orm을 쓰던,
repo 랑 상관 없음 안 써도 됨 .
dao에서 sql을 우리가 보기 쉬우려고 써놓은 거고,
dao 안 써도 돌아감.
나를 힘들게 했던 에러
- "identifier expected" -> 문법 오류인데,
내가 첫줄에 "점을 두 개 찍어서 그랬던 것"
url.controller
통신
api는 controller를 참고해서
성공
dbeaver에서 데이터베이스를 확인해볼 때에도,
이전에는 일반 delete로 한 줄이 아예 삭제되었다면,
지금은 deleted_at에 날짜 시간이 적힌다.
queryBuilder 썼을 때, 확인한 결과