定义续集模型时指定DataType长度?

时间:2017-09-15 04:13:13

标签: sequelize.js

根据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),
        }
    }
};

我知道可以通过单独的验证来限制长度,因此它引出了一个问题......

是否建议在模型中定义属性的长度?如果是这样,为什么?

1 个答案:

答案 0 :(得分:0)

在定义模型时,我决定不指定该字段的长度,因为我不相信它有任何好处。要控制创建/更新字段时指定的长度,请使用validate.len选项。

但是,在创建迁移时,我执行指定人们可能期望的长度。