-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor : shop 조회 response에 updated_at 추가 #212
base: develop
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
트리거를 이용한 해결은 처음이었을텐데 잘해주었네요~ 👍
아침일찍?부터 PR을 날리는 게 대단해요...;
수정사항 및 고민해봐야할 내용 있는 것 같아 리뷰 남겼습니다.
확인해주세요~ 😄
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
V72.000_ 가 아니라
V72.000__ 로 해야 (언더바 2개) flyway 동작이 가능합니다 😅
컨벤션 유의해주세요~
UPDATE shops SET updated_at = NEW.updated_at WHERE shops.id = NEW.shop_id; | ||
END $$ | ||
|
||
DELIMITER ; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
마지막 라인에 뉴 라인이 추가되어야 할 것 같아요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
트리거를 이용하여 메뉴, 이미지, 카테고리가 update될 때 상점의 updated_at이 변경되도록 수정됐다고 이해했는데
update될 때만 변경되면 될까요?
create, delete에도 트리거가 필요하지 않을까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
create, delete 때도 필요할 것 같습니다.. 추가하겠습니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
mysql에서 트리거를 사용하게 될 경우 성능에는 영향이 없을까요? 만약 성능에 영향을 준다면 mysql에서 트리거가 성능에 영향을 주는지 한번 알아보시고(저도 모르는 부분이라 알아봐야 할 것 같아요) 의견을 남겨주시면 감사하겠습니다! |
프로시저 활용하는 것도 좋을 것 같아요 |
user가 상점을 조회할 때 update된 날짜도 반환
< 변경 전 >
< 변경 후 >
updated_at
이 변경됨상점을 업데이트 할 경우 상점 테이블에 포함된 데이터가 변경될 경우 updated_at이 변경되지만, 상점 테이블이 아닌 상점테이블의 id를 참조하는 테이블의 정보만 변경될 경우 그 테이블의 updated_at만 변경됩니다.
상점 테이블을 참조하는 다른 테이블을 변경 했을 때에도 상점 테이블의 updated_at을 변경하여 업데이트된 날짜를 통일하기 위해 다른 테이블들과 동기화가 필요했습니다. 이를 위해 trigger를 사용하였습니다.
trigger 생성 문법
사용 예시