根据sequelize API参考(http://docs.sequelizejs.com/variable/index.html),它说:
要为数据类型提供长度,可以像函数一样调用它:INTEGER(2)
我在大多数示例中都没有指定定义模型时的数据类型长度。
module.exports = (sequelize, DataTypes) => {
return sequelize.define('MyModel', {
field1: {
type: DataTypes.STRING,
},
// vs.
field2: {
type: DataTypes.STRING(20),
}
}
};
我知道可以通过单独的验证来限制长度,因此它引出了一个问题......
是否建议在模型中定义属性的长度?如果是这样,为什么?
答案 0 :(得分:0)
在定义模型时,我决定不指定该字段的长度,因为我不相信它有任何好处。要控制创建/更新字段时指定的长度,请使用validate.len
选项。
但是,在创建迁移时,我执行指定人们可能期望的长度。