js

sequelize-auto로 테이블 생성 시 손수 설정해줘야 할 것들

발전생 2021. 8. 17. 16:21

charset 설정

chartset: "utf8mb4", 
collate: "utf8mb4_general_ci",

각 테이블에서 필요에 따라 옵션에 위와 같은 설정이 필요하다.

utf8도 아닌 utf8mb4가 의미하는 것은 이모지를 허용한다는 것이다. utf8로 설정하면 예기치 못한 버그가 생길 것이다.

 

onDelete 설정

user_id: {
        type: DataTypes.INTEGER,
        allowNull: false,
        onDelete: 'CASCADE',
        references: {
          model: 'user',
          key: 'id',
        },
      },

Foreign key에 해당하는 필드에서 onDelete를 작성해주자. CASCADE를 사용하면 저장된 user_id에 대응하는 데이터가 삭제되면 해당 테이블의 데이터도 삭제한다. 즉, 유저가 탈퇴하면 관련 데이터도 삭제해준다.

'js' 카테고리의 다른 글

status code 204로 데이터를 보내면 데이터가 가지 않습니다.  (0) 2021.08.20
utf8mb4_general_ci와 utf8mb4_unicode_ci  (0) 2021.08.17
sequelize-cli와 sequelize-auto  (0) 2021.08.17
jwt secret key 만들기  (0) 2021.08.12
JWT 파헤치기  (0) 2021.08.12