问题描述
utf8mb4
但是即使我在配置文件中定义了字符集,也存在问题,当我使用 sequelize-cli 运行迁移时,它会创建数据库和表
utf8
{
"development": {
"username": "root","password": "root","database": "coinscout","host": "127.0.0.1","dialect": "MysqL","define": {
"charset": "utf8mb4","collate": "utf8mb4_general_ci"
}
}
}
这会创建一个包含 utf8 字符集表的数据库,但如果我删除数据库并运行
db.sequelize.sync();
从代码中,它正确地创建了具有给定字符集的表。
所以我想知道如果我使用 sequelize-cli 创建和运行迁移,什么是更改字符集的最佳方法?
解决方法
来自 CLI
sequelize db:create --charset utf8mb4 --collate utf8mb4_unicode_ci
这可能有点令人困惑,因为在使用 charset
选项适用于什么级别的配置和模型文件时,有时会产生歧义。