Wecode -기업협업 인턴 (부트캠프)/기업협업 인턴(프로젝트)

soft delete로 short url 삭제 추가 (orm, queryBuilder)

JBS 12 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 썼을 때, 확인한 결과