2016-08-28 13 views
3

Sequelizeを使用して、Node-ExpressアプリケーションでMySQLデータベースを処理しています。私はドキュメントに続いて教師モデルを定義しようとしていますが、そうするための2つの可能なオプションが見つかりました。最初のものはやって意味モデルを定義するとき、SequelizeまたはDataTypeを使用する必要がありますか?

var Teacher = sequelize.define('Teacher', { 
    firstname: Sequelize.STRING, 
    lastname: Sequelize.STRING}) 

他の選択肢だった

export default function(sequelize, DataTypes) { 
    var Teacher = sequelize.define('Teacher', { 
    firstname: DataTypes.STRING, 
    lastname: DataTypes.STRING}) 

実際にこれら2つ(Sequelizeとデータ型)の違いがあります場合、私は見ていない、またはなぜ私は二番目をエクスポートする必要があります。

答えて

2

違いはありません。ライブラリのソースコードでは、すべてのデータ型のオブジェクトは、データ型からオブジェクトの同じセットを参照:

const DataTypes = require('./data-types'); 

… 

for (const dataType in DataTypes) { 
    Sequelize[dataType] = DataTypes[dataType]; 
} 

… 

module.exports = Promise.Sequelize = Sequelize; 

個人的に、私はデータ型のオプションを使用してお勧めします。私にとっては、それはより意味的に正しいと思われる。