【发布时间】:2021-07-06 13:25:49
【问题描述】:
我正在做一个项目,我必须将数据库的字符集设置为
utf8mb4
但是即使我在配置文件中定义了字符集,当我使用 sequelize-cli 运行迁移时,它也会创建数据库和表
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 字符集表的数据库,但如果我删除数据库并运行
db.sequelize.sync();
从代码中它正确地创建了具有给定字符集的表。
所以我想知道如果我使用 sequelize-cli 创建和运行迁移,更改字符集的最佳方法是什么?
【问题讨论】:
-
您是否在 cli 中使用
db:create命令?我相信 charset 和 collate 都支持作为选项:sequelize db:create --charset utf8mb4 --collate utf8mb4_unicode_ci -
@dusthaines 谢谢你解决了我的问题,你能把这个作为答案发布,以便我可以批准它作为批准的答案吗?
标签: mysql node.js sequelize.js sequelize-cli