Node.js Sequelize 모델에서 외래키 지정하는 방법
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 파일이 자동으로 이 관계를 설정하므로, 코드의 가독성과 유지보수성이 향상되었습니다. 이런 명시적인 설정은 개발자에게 데이터베이스 구조를 이해하고 활용하는데 도움이 됩니다.
▼ 아래 글도 읽어보세요! ▼
'Programming & Platform > Node.js' 카테고리의 다른 글
Node.js와 동기 및 비동기 처리 - 이벤트 주도 프로그래밍의 이해 (1) | 2024.06.07 |
---|---|
Node.js 이상적인 프로젝트 폴더 구조 (0) | 2023.12.01 |
pm2 기초 사용법, Node.js 애플리케이션 관리를 간편하게 (0) | 2023.11.18 |
Node.js 웹 어플리케이션 개발을 위한 패키지 설정 (0) | 2023.11.16 |
Node.js에 대해 잘 못 알고 있는 세 가지 (0) | 2023.11.14 |