본문 바로가기
TIL

20210303 TIL

by reo.l 2021. 3. 3.

배운 것들

  • mvc advanced
  • sequelize association

 

더 알아볼 것

  • mvc 한계
  • 공식문서만으로 해결하기

 

 mvc advanced를 하였는데 눈에 들어오는 것이 없어서 굉장히 헤맸다. 하지만 오피스아워를 진행한 후에 조금이나마 sequelize에 대하여 이해한 것 같아 다행이라고 생각했다. 좀 더 파볼 필요가 있는 것 같다. sequelize에서 association을 할 때 migration파일에 관계를 지정해주고 sequel에도 관계를 지정해주어야 한다.

// migration에 관계 명시
module.exports = {
  up: async (queryInterface, Sequelize) => {
    await queryInterface.addColumn('urls', 'user_id', Sequelize.INTEGER, {
      references: {
        model: 'users',
        key: 'id',
      }
    })
  },
  down: async (queryInterface, Sequelize) => {
    await queryInterface.removeColumn('urls', 'user_id')
  }
};

// sequelize에 관계 명시
const {user, url} =require('./models')

user.hasMany(url)
url.belongsTo(user)

 

 

이처럼 마이그레이션에 관계를 명시해주는 이유는 데이터베이스에 명시해주기 위함이고 sequel에 관계를 명시해주는 이유는 sequel이 관계를 알 수 있게끔 지정하는 것이다.

 

 

 

'TIL' 카테고리의 다른 글

20210305 TIL  (0) 2021.03.07
20210304 TIL  (0) 2021.03.04
20210302 TIL  (0) 2021.03.02
20210301 TIL  (0) 2021.03.01
20210228 TIL  (0) 2021.02.28

댓글