저는 현재 Sequelize를 사용하고 있습니다increment()
函数来递增订单号值的列。例如:.increment("order_no", { by: 1 });
가끔 요청이 같은 초 내에 내 API에 동시에 도착하여 주문 번호 값이 중복되는 경우가 있습니다.
주문 번호의 증분 값이 고유한지 확인하는 방법이 있나요? 거래 시increment
를 포장해야 하나요? 주문번호를 생성한 후, 중복이 있는지 무작위로 정기적으로 확인해야 하나요? 이 문제를 해결하는 올바른 방법이 확실하지 않습니다.
Sequelize의 문서에 따르면(https://sequelize.org/docs/v6/core-concepts/model-instances/#incrementing-and-decrementing-integer-values)
동시성 문제를 방지하기 위해 Sequelize는 인스턴스 값을 증가/감소시키는 증가 및 감소 인스턴스 메서드를 제공합니다.
그러나 이 방법이 효과가 있는 것처럼 보이지만 이를 사용하면 여전히 중복된 값이 나타납니다.
중복된 주문 ID가 있는 경우 오류를 파악한 후 작업을 다시 시도하여 새 주문 ID를 생성하시면 될 것 같습니다.