Sequelize执行model:create建表报Unknown arguments错误
报错根因
Sequelize CLI model:create 命令的--attributes参数,要求传入的多字段列表必须以**半角英文逗号,**作为分隔符,不支持空格分隔。
对比两次执行的命令可直接定位差异:
- 创建PTUser的可正常运行命令:字段间全部使用英文逗号分隔,符合CLI参数解析规则
- 创建Item的报错命令:字段间用空格分隔,CLI仅识别到第一个字段
itemid:string,后续空格分隔的所有内容均被判定为未知参数,最终抛出Unknown arguments错误。
修复方案
将Item创建命令中属性之间的空格全部替换为半角英文逗号,修正后可正常执行的命令如下:
sequelize model:create --name Item --attributes 'itemid:string,itemname:string,genericname:string,itemtype:string,batchno:string,mfname:string,mfplant:string'
注意事项
- 字段分隔必须使用半角英文逗号,禁止使用中文逗号
- 逗号前后不要添加多余空格,避免不同操作系统、不同shell环境下出现参数解析异常
- 属性列表外层的单引号不要省略,防止特殊字符导致参数截断
内容的提问来源于stack exchange,提问作者Sarath Srimankandadai
相关产品推荐
相关产品推荐

