Open MerHS opened 9 years ago
근데 새로운 날에 신선도 계산 요소가 변경되었다고 할때 rank_log 테이블에 추가는 어떻게 구분하죠? elapsed_time이 0인곳이 있으면 업데이트하고 아니면 인서트 하나요? 이것만 만족하고 elapsed_date +1하는 과정이 atomic이면 이슈는 신경 안써도 될거같습니다
아니면 elapsed_time을 경과된 시간으로 설정하는 대신 해당 요소가 입력된 날짜로 한다고 하면 오히려 간단하게 해결할수있을거같네요
관련사항 수정해서 푸시했습니다.
현재
rank_log
테이블의elapsed_date
가word_id
와 함께 primary_key로 선언되어있습니다.이 때 일정시간(하루)이 지날때 마다
elapse_time
함수를 불러와서 rank_log 안에 있는 모든elapsed_date
값을 1씩 올리고elapsed_date
가 적절한값(30) 이상이면 없애는 작업을 수행하야 합니다.여기서
elapsed_date
가 30 이상이면 자동으로 없애주기elapsed_date
를 + 1하는 방식으로 구현되어 있는데elapsed_date
가 primary key라 +1하면 중복된elapsed_date
가 생길 수 있어 문제가 있다. 이에 대한 해결