Sequelize - 我如何修复"数据类型未定义"?

时间:2016-03-06 03:32:42

标签: mysql sequelize.js

我试图让sequelize中的模型使用DataTypes.UUID生成唯一ID。当我提交我的应用程序时,这会引发错误

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()。但是,我没有看到任何有关获取数据类型的文档。

1 个答案:

答案 0 :(得分:7)

可以通过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 imported DataTypes作为第二个参数