You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用sequelize-cli生成带默认值的ENUM字段模型失败问题排查

Sequelize-CLI生成带默认值的ENUM字段命令失败原因

你执行的命令里,role字段的写法不符合Sequelize-CLI的属性解析规则,导致命令执行失败。

问题根源

Sequelize-CLI在解析--attributes参数时,对于需要多配置项的字段(比如ENUM类型+默认值),不能用enum:'{staff,admin}':defaultValue:staff这种冒号串联的格式,CLI会把整个字符串当成混乱的类型定义,无法识别默认值配置项。

正确写法

当字段需要配置多个属性(类型、枚举值、默认值)时,必须用对象格式定义,同时注意shell的引号转义:

Bash/Zsh环境下的命令:

npx sequelize-cli model:generate --name Profile --attributes "username:string,imageUrl:string,fullname:string,dateOfBirth:date,UserId:UUID,role:{type:enum,values:['staff','admin'],defaultValue:'staff'}"

Windows CMD环境下的命令(需要转义双引号):

npx sequelize-cli model:generate --name Profile --attributes "username:string,imageUrl:string,fullname:string,dateOfBirth:date,UserId:UUID,role:{type:enum,values:[\"staff\",\"admin\"],defaultValue:\"staff\"}"

补充说明

  • 简单类型字段(比如username:string)可以用冒号串联的简写格式,但涉及多配置项的字段,必须用{}包裹的对象结构来明确每个配置项。
  • 之前的写法里,defaultValue直接跟在枚举后面,CLI无法区分这是枚举的一部分还是独立配置,因此报错。

内容的提问来源于stack exchange,提问作者flyingduck92

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 11:12:04