uju's Tech

[Node.js : Sequelize] many to one 관계 본문

Node

[Node.js : Sequelize] many to one 관계

ujusy 2020. 7. 29. 01:27

<본 포스팅은공부목적으로 작성되었습니다. 혹시 틀린 부분이 있거나 문제가 되는 부분이 있다면 답글 달아주세요!>

위의 그림과 같은 관계를 갖는 것을 many to one이라고 한다.

하나의 이모티콘은 이모티콘 추천 테이블이 여러개 종속될 수 있다.

sequelize 공식 문서를 보면 many to one 관계는 belongsTohasMany 를 사용하여 관계를 설정해 줄 수 있다고 나온다.

 

이모티콘 추천 테이블 명을 recommendation 이모티콘 테이블 명을 emoticon이라고 하면

 

Recommendation.associate = (models) => {
    Recommendation.belongsTo(models.Emoticon, {
      foreignKey: {
        allowNull: false,
      },
      onDelete: 'CASCADE',
    });
  };
Emoticon.associate = (models) => {
	Emoticon.hasMany(models.Recommendation);
}

각각의 model에서 위와 같이 설정해 줄 수 있다.

 

onDelete의 Cascade의 경우는 연결되어 있는 emoticon이 사라진 경우 recommendation에서도 지워주는 것이다.

 

아직 데이터베이스 관계를 확실하게 이해하고 적용하지 못하고 있다고 생각하여 포스팅을 진행하였다ㅎㅎ..

 

앞으로 공부하면서 정리를 해보고자한다 .

Comments