NestJS와 TypeORM을 사용해서 MySQL 8에 연동작업을 하고 있었습니다.

그런데, "QueryFailedError: Invalid default value for 'updated_at'"라는 에러가 발생했습니다. 에러 내용은 updated_at이라는 Column을 지목하지만, 다른 시도 때는 'created_at' Column에도 동일한 문제가 생겼었습니다.
DDL을 수동으로 구성하고 Table을 생성해도, 빈 DB에 synchronize 옵션을 true로 하고, 자동으로 DDL을 구성해서 만들게 해도 동일한 오류가 발생했습니다.
인터넷에 찾아보니 sql_mode 수정, MySQL 버전 등등 여러 문제를 지적했는데요. 저는 이 모든게 안 됐습니다.
그래서 여러 시도를 했는데요. 결론은 이렇습니다. @UpdateDateColumn, @CreateDateColumn 을 사용할 때, default, onUpdate 값을 설정해선 안 됩니다.
deafult, onUpdate 값을 없애고 다시 실행하니 제대로 적용이 됩니다. 아마도 default 값이 중복으로 삽입이 되서 Invalid default value 값의 에러가 발생하는 것으로 보입니다.
비슷한 문제를 겪는 분들이 참고해주셨으면 좋겠습니다.
감사합니다.