2017-09-15 53 views
0

按照sequelize API參考(http://docs.sequelizejs.com/variable/index.html),它說:定義後續模型時指定DataType的長度?

爲了提供該數據類型的長度,可以調用它像一個函數:INTEGER(2)

大部分我見過的例子在定義模型時沒有指定數據類型的長度。

module.exports = (sequelize, DataTypes) => { 
    return sequelize.define('MyModel', { 
     field1: { 
      type: DataTypes.STRING, 
     }, 

     // vs. 

     field2: { 
      type: DataTypes.STRING(20), 
     } 
    } 
}; 

我知道有可以做限制長度單獨的驗證,所以它引出了一個問題...

最好先定義模型屬性的長度是多少?如果是這樣,爲什麼?

回答

0

在定義模型時,我決定不指定字段的長度,因爲我不相信它有任何好處。要控制創建/更新字段時指定的長度,我使用validate.len選項。

但是,在創建遷移時,我會根據您的預期指定長度。