Refactor : shop 조회 response에 updated_at 추가#212
Conversation
Invidam
left a comment
There was a problem hiding this comment.
트리거를 이용한 해결은 처음이었을텐데 잘해주었네요~ 👍
아침일찍?부터 PR을 날리는 게 대단해요...;
수정사항 및 고민해봐야할 내용 있는 것 같아 리뷰 남겼습니다.
확인해주세요~ 😄
There was a problem hiding this comment.
V72.000_ 가 아니라
V72.000__ 로 해야 (언더바 2개) flyway 동작이 가능합니다 😅
컨벤션 유의해주세요~
| UPDATE shops SET updated_at = NEW.updated_at WHERE shops.id = NEW.shop_id; | ||
| END $$ | ||
|
|
||
| DELIMITER ; No newline at end of file |
There was a problem hiding this comment.
마지막 라인에 뉴 라인이 추가되어야 할 것 같아요
There was a problem hiding this comment.
트리거를 이용하여 메뉴, 이미지, 카테고리가 update될 때 상점의 updated_at이 변경되도록 수정됐다고 이해했는데
update될 때만 변경되면 될까요?
create, delete에도 트리거가 필요하지 않을까요?
There was a problem hiding this comment.
create, delete 때도 필요할 것 같습니다.. 추가하겠습니다!
There was a problem hiding this comment.
shop_opens 테이블의 경우에는 soft delete인데 delete에 관한 트리거를 추가할 필요가 있을까요?
| @ApiModelProperty(value = "업데이트 일자", example = "2023-01-01 12:01:02", required = true) | ||
| @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Seoul") | ||
| private Date updated_at; | ||
|
|
|
mysql에서 트리거를 사용하게 될 경우 성능에는 영향이 없을까요? 만약 성능에 영향을 준다면 mysql에서 트리거가 성능에 영향을 주는지 한번 알아보시고(저도 모르는 부분이라 알아봐야 할 것 같아요) 의견을 남겨주시면 감사하겠습니다! |
프로시저 활용하는 것도 좋을 것 같아요 |
user가 상점을 조회할 때 update된 날짜도 반환
< 변경 전 >
< 변경 후 >
updated_at이 변경됨상점을 업데이트 할 경우 상점 테이블에 포함된 데이터가 변경될 경우 updated_at이 변경되지만, 상점 테이블이 아닌 상점테이블의 id를 참조하는 테이블의 정보만 변경될 경우 그 테이블의 updated_at만 변경됩니다.
상점 테이블을 참조하는 다른 테이블을 변경 했을 때에도 상점 테이블의 updated_at을 변경하여 업데이트된 날짜를 통일하기 위해 다른 테이블들과 동기화가 필요했습니다. 이를 위해 trigger를 사용하였습니다.
trigger 생성 문법
사용 예시