Notice
Recent Posts
Recent Comments
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Día de Ruru

20230323 TIL 본문

항해99/TIL

20230323 TIL

공대루루 2023. 3. 23. 02:05

문제점

프론트앤드에서 관리자 페이지를 만들기 위해서 모든 유저 정보를 받아오고 삭제할 수 있고 모든 게시글 정보를 받아오고 삭제할 수 있는 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