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가 설정된다.