[Error] sequelize 모델 간 관계 설정, fk 에러

JavaScript/Sequelize · 2021. 12. 7. 03:02

어떤 에러인가요?

sequelize 모델의 fk를 설정할 때 내가 만들어준 이름은 snake_case인데 자꾸 기본값인 camelCase가 들어가고 쿼리를 보냈을 때 원래 들어가야 할 fk값에 null이 들어갔다.

에러 메시지

특별한 메시지는 없고 menu_id, cart_id, buyer_id 등 fk에 null 들어감

에러 핸들링 방법

migration에서만 fk를 주는 게 아니라 model의 index에서 foreignKey 옵션을 주어야 한다.

cart.belongsTo(user, { foreignKey: 'buyer_id' });
user.hasMany(cart);
menu.belongsToMany(cart, { foreignKey: 'cart_id', through: cart_menu });
cart.belongsToMany(menu, { foreignKey: 'menu_id', through: cart_menu });]