Día de Ruru
20230323 TIL 본문
문제점
프론트앤드에서 관리자 페이지를 만들기 위해서 모든 유저 정보를 받아오고 삭제할 수 있고 모든 게시글 정보를 받아오고 삭제할 수 있는 API를 만들어달라고 하셨다!! 아이 뭐 그정도는 껌이쥐~ 하고 코드 작성 후 배포했는데 조회는 되는데 삭제가 안된다.... 왜..?
해결방안
mysql로 테이블을 만들다보니 참조키를 설정해주었는데 서로 참조되어있는 테이블의 데이터가 삭제되었을 때 어떻게 할지를 안정해줘서 생긴 문제였다... onDelete 설정은 아래처럼 해주었다.
postid: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
},
userId: {
allowNull: false, // NOT NULL
type: Sequelize.INTEGER,
references: {
model: 'Users', // Users 모델을 참조합니다.
key: 'userId', // Users 모델의 userId를 참조합니다.
},
onDelete: 'CASCADE', // 만약 Users 모델의 userId가 삭제되면, Posts 모델의 데이터가 삭제됩니다.
},
title:{
allowNull: false,
type: Sequelize.STRING,
}
}
알게된 점
참조키를 이용해서 테이블을 만들 때 꼭 onDelete 설정을 해줘야 한다!!
'항해99 > TIL' 카테고리의 다른 글
20230325 TIL (0) | 2023.03.25 |
---|---|
20230324 TIL (1) | 2023.03.25 |
20230320 TIL (0) | 2023.03.21 |
20230318 TIL (0) | 2023.03.19 |
20230309 TIL (0) | 2023.03.09 |
Comments