[mysql, sequelize] timezone 설정하기

어쩌다·2022년 9월 15일
0

[mysql, sequelize] timezone 설정하기


mysql의 timezone은 세팅이 되었는데, sequelize의 timezone과 맞지 않는 경우

@Module({
  imports: [
    SequelizeModule.forRoot({
      dialect: "mysql",
      host: 
      port: 
      username: 
      password: 
      database: 
      autoLoadModels: true,
      synchronize: true,
    }),
  1. sequelize는 백단의 서버를 기준으로 local timezone이 디폴트값이다.
  2. 먼저 배포된 서버 timezone을 확인하고, sequeilze 또한 한국 시간으로 맞추는 게 좋다.
@Module({
  imports: [
    SequelizeModule.forRoot({
      dialect: "mysql",
      host: 
      port: 
      username: 
      password: 
      database: 
      autoLoadModels: true,
      synchronize: true,
      timezone: "+09:00",
    }),
  1. 이렇게 맞춰주는 게 좋고, 서버와 연결된 mysql timezone 자체도 바꿔주는 게 좋다.

mysql timezone 변경

SELECT @@global.time_zone, @@session.time_zone;
  1. 먼저 현재 timezone이 어떻게 설정되어있는 지 확인한다.
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| SYSTEM             | SYSTEM              |
+--------------------+---------------------+
1 row in set (0.00 sec)
  1. 디폴트값이 SYSTEM인데, 이는 서버 시스템의 timezone을 따르고 있다는 것을 알 수 있다.
SET GLOBAL time_zone='Asia/Seoul';
SET time_zone='Asia/Seoul';
  1. 전역적으로 적용되는 GLOBAL timezone과 세션 timezone까지 변경해주면 된다.
profile
혼자 공부하는 공간

0개의 댓글