웹/Nodejs

🟩 sequelize에서 bulkUpdate할 때 필요한건 unique 키!!

wonin 2022. 12. 26. 14:33

sequelize에서 bulkCreate해야하는 상황이 있습니다. 여기서는 bulkCretae의 옵션을 사용해서 update를 하려합니다.
다른방법

bulkCreate option - updateOnDeuplicate

const result = await User.bulkCreate(updateUsersDto, {
    updateOnDuplicate: ["name"]
});

Sequelize의 bulkCreate option 중 updateOnDeuplicate를 사용하면 일괄 upsert를 칠 수 있습니다. 가장 많이 사용되는 방법이지만, 일부 컬럼을 대상으로는 사용할 수 없습니다. update가 아니라, upsert 개념입니다. 즉, 유니크한 키가 필요합니다.

기본으로 id를 unique 키로 찾습니다. 하지만 다른 칼럼을 기준으로 update를 하고 싶을 때 그 칼럼이 unique 키가 되어야 합니다.

image

위 그림은 sql문이 나오는 형태입니다.

728x90