首页 > 解决方案 > Sequelize Node JS 中的时区问题

问题描述

我已经使用 Node JS 构建了一个应用程序,并使用 sequelize ORM 与 mysql 连接

在配置 sequelize 时,我将时区提供为“Europe/Oslo”,但在运行应用程序时,它会发出与 sequelize 使用的 mysql2 包相关的警告,如下所示

Ignoring invalid timezone passed to Connection: Europe/Oslo. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection

仅供参考:从 3 月 29 日开始夏令时开始,不能使用“+01:00”作为时区选项

任何人都可以帮我解决这个问题。

Sequelize 配置如下:

在此处输入图像描述

标签: mysqlnode.jssequelize.jsmysql2

解决方案


删除collate选项并timezone '+08:00'根据您的时区传递。我测试了这个设置对我来说很好

const sequelize = new Sequelize(dbConfig.database, dbConfig.username, dbConfig.password, {
    "dialect": "mysql",
    "charset": "utf8mb4",
    "dialectOptions": {
      "useUTC": false
    },
    "logging": null,
    "timezone": "+00:00",
    "seederStorage": "sequelize",
    "operatorsAliases": false
});

推荐阅读