是否可以使用 sequelize 迁移设置字符集?

Is it possible to set charset with sequelize migrations?

我正在做一个项目,我必须将数据库的字符集设置为

utf8mb4

但是即使我已经在配置文件中定义了字符集,还是有问题,当我使用 sequelize-cli 运行 迁移时,它会创建数据库和 tables

utf8

这是我的 config.json 文件

{
  "development": {
    "username": "root",
    "password": "root",
    "database": "coinscout",
    "host": "127.0.0.1",
    "dialect": "mysql",
    "define": {
      "charset": "utf8mb4",
      "collate": "utf8mb4_general_ci"
    }
  }
}

这会在 utf8 字符集中创建一个带有 tables 的数据库,但是如果我删除数据库并且 运行 db.sequelize.sync(); 从代码中它使用给定的字符集正确创建 table。

所以我想知道如果我使用 sequelize-cli 创建和 运行 迁移,更改字符集的最佳方法是什么?

来自 CLI

sequelize db:create --charset utf8mb4 --collate utf8mb4_unicode_ci

这可能有点令人困惑,因为在 charset 选项适用的级别上处理配置和模型文件时有时会产生歧义。