2017-11-29 7 views
1

公式ドキュメントを含むデータ型の定義に、両方のクラスを使用することが明らかに同じ目的を果たしていることがわかりました。Sequelize:DataTypesとSequelizeの違い

チュートリアルでは、アプリケーションがモデル用にデータ型を使用していて、移行のためにSequelizeを使用していたのを見て、それらを交換して作業を続けます。例コード:データ型を使用して

モデル:Sequelizeを用い

module.exports = (sequelize, DataTypes) => { 
    const Driver = sequelize.define('Driver', { 
    firstName: { 
     type: DataTypes.STRING(50), 
     allowNull: false 
    }, 

移行:

module.exports = { 
    up: (queryInterface, Sequelize) => { 
    return queryInterface.createTable('Drivers', { 
     id: { 
     allowNull: false, 
     autoIncrement: true, 
     primaryKey: true, 
     type: Sequelize.INTEGER 
     }, 

答えて

2

それらの両方の2番目のパラメータは、ちょうどsequelizeパッケージ自体である

const Sequelize = require('sequelize'); 
あなたのような何かを

(あなたが示唆したように設定している場合)あなたがモデルのあなたのindex.jsに気づくでしょうあなたが2番目の引数として続けるところを渡しているところです。

const model = require(path.join(__dirname, file))(sequelize, Sequelize); 

これは、データ型を公開します。あなたが何を呼んでも問題ではありません。たとえば、

module.exports = (sequelize, asd) => { 
    const Driver = sequelize.define('Driver', { 
    firstName: { 
     type: asd.STRING(50), 
     allowNull: false 
    }, 

マイグレーションと同じです。

+0

もちろん、今私はそれを見ます。ありがとう! – Deeh

0

docsに述べたように、データ型がある:

一般的に使用される便利なクラス保持データ型。

関連する問題