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가 한 유저에게 속한 것을 알 수 있다!