• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

db 관련 질문입니다

21.12.13 19:09 작성 조회수 101

0

 

안녕하세요 제로초님

ProductCart에 추가할 때

Cart에 기존 아이템 존재시

producttotalPricequantity만 증가시켜주고

아닐시 새로운 product만들도록 해보았습니다.

 

 

 

우선 Cart에 처음으로 product를 추가하고

이후 Cart에 기존 아이템 존재시

producttotalPricequantity만 증가시켜주는 것 까지는 정상적으로 db에 저장하는 것 까지는 되었습니다.

 

 

 

에러

문제는 그 해당하는 상품의 다른 사이즈를 추가할 때부터 발생했습니다.

 

 

한 테이블에 ProductIdUserId 가 같은 값을 가진 상태로 또 추가가 되니

발생하는 오류인 것 같았습니다.

 

 

 

찾아본해결

https://github.com/sequelize/sequelize/issues/3220

 

 

따라서

 

 

unique: false 를 추가해서 다시 db에 저장해보니 정상적으로 추가가 되긴 했습니다.

다만 기존 Product의 같은 사이즈를 또 추가할 때 기존 데이터에서 quantitytotalPrice

증가되어 저장하는게 아니라 새로운 데이터가 만들어지면서 추가되어버립니다

이럴 때 ProductIdUserId를 한 테이블에 여러 번 쓰면서 quantitytotalPrice만 증가시켜서

저장할 수는 없는지 궁긍합니다.

 

 

답변 1

답변을 작성해보세요.

1

간단하게 productid userid에 걸려있는 unique를 푸시면 됩니다. 그리고 지금 코드를 보면 항상 create가 실행되는데 이 부분을 else로 빼야하지 않나요?

do wang님의 프로필

do wang

질문자

2021.12.22

맞습니다 코드 실수였습니다 ..