2016-03-06 48 views
2

我試圖在續集中使用DataTypes.UUID生成一個唯一的ID。這將引發一個錯誤,當我成爲了我的申請Sequelize - 如何解決「數據類型未定義」?

ReferenceError: DataTypes is not defined

這裏是我的代碼

var Sequelize = require('sequelize'); 
var sequelize = new Sequelize('uppersphere', '****', '***', { 
    logging: false 
}); 
... 
var Peak = sequelize.define('peak', { 
    id: { 
    type: DataTypes.UUID, 
    defaultValue: DataTypes.UUIDV1, 
    primaryKey: true 
    }, 

這裏的文檔

sequelize.define('model', { 
    uuid: { 
     type: DataTypes.UUID, 
     defaultValue: DataTypes.UUIDV1, 
     primaryKey: true 
    } 
    }) 

顯而易見的答案是,它不是我的代碼,但有一些require()我需要。但是,我沒有看到有關獲取DataType所需的文檔。

回答

5

的數據類型可以通過Sequelize object訪問:

var Sequelize = require('sequelize'); 
var Peak = sequelize.define('peak', { 
    id: { 
    type: Sequelize.UUID, 
    defaultValue: Sequelize.UUIDV1, 
    primaryKey: true 
    }, 

DataTypes是一剛一convenience class它如果需要的話你可以直接導入:

var DataTypes = require('sequelize/lib/data-types'); 

此外,the model files are importedDataTypes作爲第二個參數

+0

我已經在我的代碼中有。它暗示着......但是,謝謝你的努力。它看起來像stackoverflow格式化它奇怪,所以可能不會引人注意。爲了避免更多的混淆,我會繼續前進,並且更加清楚。 –

+0

@DanielBreen用更多的細節更新了答案。希望至少讓你走上正確的道路。謝謝。 – alecxe

+0

感謝您的更新答案@alecxe。那是缺失的環節! –

相關問題