config.js에서 데이터 입력 시 UTC시간 기준 +9시간을 적용해야 아시아 시간을 적용할 수 있기 때문에 timezone :+09:00 을 적용해준다.
module.exports = {
"development": {
"username": process.env.DATABASE_USER,
"password": process.env.DATABASE_PASSWORD,
"database": process.env.DATABASE_NAME,
"host": "127.0.0.1",
"dialect": "mysql",
"timezone": "+09:00",
이렇게 되면 mysql db 조회 시 timezone이 적용된 데이터가 삽임되었음을 알 수 있다.
그러나 이렇게 저장된 데이터를 추출해 클라이언트로 응답하게 되면 timezone이 적용되지 않은 이전 시간으로 적용된다.
검색 결과
그렇기 때문에 데이터를 로드할 때 원래 시간을 읽어서 timestamp에 적용한다는 것이다.
이럴 때 로드할 때의 날짜를 string 형태로 가져오면 timezone의 값을 역으로 계산하지 않는다.
var seqConfig = {
...
timezone: config.database.timezone,
dialectOptions: {
charset: 'utf8mb4',
dateStrings: true,
typeCast: true
}
,define: {
timestamps: true
}
}