Error

ERROR 1364: Field 'createdAt' doesn't have a default value

리용쓰 2022. 1. 29. 16:13

기존 mysql 의 'createdAt' 와 'updatedAt'는 자동으로 입력이 되나 sequlize 에서  'createdAt' 와 'updatedAt'를 allowNull

false 로 설정해두고 Users 테이블에 Insert 하려고 할때 발생하는 에러이다.

 

해결방법

 

'createdAt' 와 'updatedAt'에 defaulteValue를 설정해주면 된다. 어떻게 설정하는가

 

   createdAt: {
      allowNull: false,
      type: Sequelize.DATE,
      defaultValue: Sequelize.fn("NOW"), //이렇게 수정!
   },
   updatedAt: {
      allowNull: false,
      type: Sequelize.DATE,
      defaultValue: Sequelize.fn("NOW"),
   },

이렇게 defaulteValue값에 Sequlize.fn("NOW") 로 설정해주면 자동으로 안에 현재 createdAt 값과 updatedAt가 설정된다.