mysql - 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 配置如下:
解决方案
删除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
});