Sequelize CLI创建模型报错:缺少必填参数attributes 求助
报错根因
两个问题共同触发了「Missing required argument: attributes」报错:
- 参数名拼写不匹配:根据你贴出的Sequelize CLI帮助信息,程序识别的必需属性参数是复数形式的
--attributes,你执行命令时写的是单数形式的--attribute,CLI会直接把这个拼写错误的参数当成未知参数忽略,判定你没有传入必填的属性配置 - PowerShell命令断裂:你输入命令时没有加续行符就直接回车换行,把
--name和对应值Category、--attribute和对应值'name:string'拆成了独立的命令行片段,Shell解析时根本无法把参数名和参数值关联到一起
修正后的可执行命令
单行写法(最不容易出错,无命令断行问题)
sequelize model:create --name Category --attributes name:string --force
长命令换行写法(PowerShell下必须加反引号作为续行符,否则会出现参数断裂)
sequelize model:create ` --name Category ` --attributes name:string ` --force
避坑提示
- 同时定义多个属性时,用英文逗号分隔
字段名:数据类型的配置项,不要用空格、中文逗号做分隔,比如--attributes name:string,cover_url:string,desc:text就是合法格式 - 你当前使用的Sequelize CLI 6.2.0版本,仅识别复数形式的属性参数,写单数的
--attribute不会触发任何效果,只会被程序忽略
内容的提问来源于stack exchange,提问作者Anuj Verma
相关产品推荐
相关产品推荐

