Sequelize 에러를 해결해보자!

김승우·2022년 6월 4일
0

Sequelize

목록 보기
1/1

Todo list를 만들던 중 데이터를 삽입하려고 하는데 문제가 발생했다.

오류는 바로

이다..

검색을 해서 찾아보니 해당 오류는 Foreign Key에 값을 Insert할 때 참조하는 테이블의 Primary Key에 해당하는 값만 삽입해야하지만 이를 어길 때 발생한다고 한다.

포스트맨에 id가 1인 멤버에게 todo를 삽입하려고 했는데 이런 에러가 떠서 테이블에 id가 1인 멤버가 존재하지 않는지 확인을 해 봤다.

확인을 해봤지만 id가 1인 멤버가 존재한다. id가 2인 멤버에 넣을때도 문제가 발생하는 걸 보니 어디서부턴가 잘못된 것 같다.. 디버깅 해결까지 해결 과정을 완성시켜보아야겠다.

-- 6.7 디버깅 완료

에러가 났었던 이유는 바로

이 두 가지의 코드 때문에 나온 것이었다.
틀린 점을 눈치챘는가?

  static associate(db) {
    // Todo는 Member에 속해있음 (Member의 target key는 id)
    db.Todo.belongsTo(db.Member, { foreignKey: 'member', targetKey: 'id'});
  }
}

이와 같이 foreignKey를 member로 통일하지 않았기 때문이다.

해당 코드를 수정한 후엔 모두 실행이 되는 것을 알 수 있다.!!

2가지의 todo가 한 유저에게 속한 것을 알 수 있다!

디버깅 끝~~!

profile
인천대학교 임베디드시스템공학과 졸업 후 SSAFY 10기 과정을 이수하고 있습니다.

0개의 댓글