본문 바로가기
Programming & Platform/Node.js

Node.js Sequelize 모델에서 외래키 지정하는 방법

by 코드스니펫 2023. 11. 25.
반응형

Node.js Sequelize 모델에서 외래키 지정하는 방법

 

Node.js logo

 

Sequelize를 사용하여 데이터베이스 모델을 정의하고 관계를 설정할 때, 외래 키(Foreign Key)의 지정은 중요한 부분입니다. 이 외래 키를 정확하게 설정하면 데이터베이스 간의 관계를 효과적으로 구성할 수 있습니다. 아래 글은 코드 수정한 과정을 담은 내용입니다.

 

 

Sequelize에서 외래키 지정하는 방법

 

 

왜 외래키가 필요한가?

관계형 데이터베이스에서는 여러 테이블 간에 관계를 형성하고 유지하기 위해 외래 키가 사용됩니다. Sequelize에서도 모델 간의 관계를 설정하면서 외래 키를 명시적으로 지정할 수 있습니다.

 

원래 코드

class Contents extends Model {
  static associate(models) {
    // define association here
  }
}

 

기존 코드에서는 Contents 모델이 다른 모델과의 관계를 정의하는 부분이 비어 있었습니다. 이를 수정하여 외래 키를 명시적으로 설정해보겠습니다.

 

수정된 코드

class Contents extends Model {
  static associate(models) {
    models.Contents.belongsTo(models.Users, {
      foreignKey: "author_id",
      targetKey: "id"
    });
  }
}

 

위 코드에서 belongsTo 메서드를 사용하여 Contents 모델이 Users 모델과의 일대다 관계에서 외래 키를 명시적으로 선언했습니다. foreignKey는 현재 모델(Contents)의 외래 키, targetKey는 연결할 모델(Users)의 기본 키를 나타냅니다.

 

어떤 변화가 있었나요?

이러한 수정을 통해 Sequelize는 Contents 모델이 Users 모델과 외래 키 author_id를 통해 연결되어 있다는 정보를 가지게 됩니다. 이는 두 모델 간의 관계를 명확히 정의하고 데이터베이스 쿼리를 수행할 때 필요한 정보를 쉽게 얻을 수 있도록 도와줍니다.

 

 

코드의 가독성과 유지보수 향상을 위해

 

 

이제 Sequelize 라이프사이클에서 models/index 파일이 자동으로 이 관계를 설정하므로, 코드의 가독성과 유지보수성이 향상되었습니다. 이런 명시적인 설정은 개발자에게 데이터베이스 구조를 이해하고 활용하는데 도움이 됩니다.

 

▼ 아래 글도 읽어보세요! ▼

 

 

pm2 기초 사용법, Node.js 애플리케이션 관리를 간편하게

PM2 기초 사용법, Node.js 애플리케이션 관리를 간편하게 PM2는 Node.js 애플리케이션을 관리하는 프로세스 매니저로, 애플리케이션을 실행하고 모니터링하는 등 다양한 기능을 제공합니다. 이 글에

lemonlog.tistory.com

 

 

Git, 실수로 삭제한 파일 복구하는 방법

Git, 실수로 삭제한 파일 복구하는 방법 Git은 협업과 버전 관리를 위한 강력한 도구입니다. 그러나 가끔 실수로 파일을 삭제하거나 잘못된 pull로 인해 문제가 발생할 수 있습니다. 이런 상황에서

lemonlog.tistory.com