해결된 질문
작성
·
586
0
// 2. 유저의 돈 찾아오기
// const user = await this.userRepository.findOne({
// where: { id: currentUser.id },
// });
const user = await queryRunner.manager.findOne(
User,
{ id: currentUser.id },
{ lock: { mode: "pessimistic_write" } },
);
위의 코드에서 { lock: { mode: "pessimistic_write" } }, 부분이 추가되면서 아래의 에러가 발생하고 있습니다.
src/apis/pointTransaction/pointTransaction.service.ts:52:9 - error TS2554: Expected 2 arguments, but got 3.
52 { lock: { mode: "pessimistic_write" } },
테스트를 진행해보려면 어떻게 코드 수정이 되어야 할런지요?
답변 2
1
안녕하세요 dreaminliner님!
업로드 해주신 내용을 확인해 본 결과, 강의에서 사용하는 typeorm과 설치 버전이 상이해 발생한 문제로 보여집니다.
해당 문제를 해결하고 이후 강의에서 같은 문제가 발생하지 않도록 node_modules
폴더를 삭제한 뒤, 아래의 내용을 따라 버전을 fix해 새롭게 설치해 주시길 바랍니다.
node_modules
폴더를 삭제합니다.
package.json
파일의 dependencies: {}
안에 작성된 내용 중, "typeorm": "..."
을 삭제해 주세요.
터미널에 yarn add typeorm@0.2
명령어를 입력해 0.2 버전의 typeorm을 설치해 주세요.
이후에는 관련된 에러가 발생하지 않을 것으로 예상됩니다!
감사합니다 :)
1
제 생각엔 아마 강의랑 typeorm 버전이 다른것 같습니다.
최신 버전으로 하시려면
const user = await queryRunner.manager.findOne(User, {
where: { id: currentUser.id },
lock: { mode: 'pessimistic_write' },
});
이렇게 하셔야 될 듯 싶네요.
답변 감사합니다.