sequelize.js - 类型错误 : defineCall is not a function at Sequelize. 导入

标签 sequelize.js

将我的 User.js 模型定义为如下但低于异常

错误

PS C:\Users\meghshyam\Documents\express_node_mysql_handlebars> node server.js C:\Users\meghshyam\Documents\express_node_mysql_handlebars\node_modules\sequelize\lib\sequelize.js:691 this.importCache[path] = defineCall(this, DataTypes); ^

TypeError: defineCall is not a function at Sequelize.import (C:\Users\meghshyam\Documents\express_node_mysql_handlebars\node_modules\sequelize\lib\sequelize.js:691:30) at C:\Users\meghshyam\Documents\express_node_mysql_handlebars\models\index.js:23:36 at Array.forEach (native) at Object. (C:\Users\meghshyam\Documents\express_node_mysql_handlebars\models\index.js:22:4) at Module._compile (module.js:409:26) at Object.Module._extensions..js (module.js:416:10) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12) at Module.require (module.js:353:17) at require (internal/module.js:12:17) at Object. (C:\Users\meghshyam\Documents\express_node_mysql_handlebars\server.js:16:10) at Module._compile (module.js:409:26) at Object.Module._extensions..js (module.js:416:10) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12) at Function.Module.runMain (module.js:441:10)


 "use strict";

 module.exports = function(sequelize, DataTypes) {
 var User = sequelize.define("User", 
 {
 //timestamps: true,
 // id:DataTypes.INTEGER,
  username:{ 
  type:DataTypes.STRING,
  validate:{
    isEmail:true
  }
},
password: {
  type: DataTypes.STRING,
  validate:{
    len:[6,12],
    notNull:true,
    notEmpty:true
  }
},
 role:{
  type: DataTypes.INTEGER,
  validate:{
    notNull:true,
    notEmpty:true,
    isNumeric:true
  },
  }
 },

  {
 classMethods: {
 associate: function(models) {
  // Associating Author with Posts
  // When an Author is deleted, also delete any associated Posts
 // User.belongsTo(models.Student, {
 //   onDelete: "cascade"
 // });
//user has one teacher record
//   User.belongsTo(models.Teacher, {
//    onDelete: "cascade"
  });
  }
  }
  }
  );
return User;
 };

最佳答案

这通常是由于在 index.js 中导入了不是 Sequelize 模型的文件引起的。您的模型目录中是否有任何不是模型的内容?在我的情况下,这是因为它正在拉入我的测试文件以及位于同一目录中的模型。尝试在 index.js 中添加另一个检查,它会在其中构建文件列表以排除以 .test.js 结尾的任何内容(或任何等价物)。

关于sequelize.js - 类型错误 : defineCall is not a function at Sequelize. 导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43797572/

相关文章:

node.js - 如何在 Sequelize CLI 中添加、删除新列

mongodb - 运行数据库架构迁移的最佳实践

node.js - Sequelize - 如何将 Distinct 应用于嵌套包含?

reactjs - 我必须绘制收入和支出图表,只想绘制当年的图表。 react Sequelize

node.js - nodejs异步模块导出

node.js - 如果数组中不存在新记录,则尝试添加新记录

node.js - 使用非标准 unix 套接字进行 Sequelize-cli 迁移

javascript - Sequelize : Query same join table with different conditions

node.js - sequelize 获取被引用表的列值

node.js - 在一个巨大的数组中执行 sequelize findall