【发布时间】:2018-09-09 14:24:49
【问题描述】:
我一直在试图弄清楚如何修复我的 index.js 文件生成的以下错误。我正在使用 Node、Express 和 sequelize。
/app/node_modules/sequelize/lib/sequelize.js:691
server_1 | this.importCache[path] = defineCall(this, DataTypes);
server_1 | ^
server_1 |
server_1 | TypeError: defineCall is not a function
据我了解,该错误是因为我将一些不是续集模型的东西导入到我的 index.js 文件中(有关 index.js 代码,请参见下文)。但我根本找不到问题所在。下面是代码。任何帮助将非常感激!
预订型号代码:
var Sequelize = require('sequelize');
var config = require('../config');
var db = require('../services/database');
// 1: The model schema.
var modelDefinition = {
name: {
type: Sequelize.STRING
}
};
// 2: Define the User model.
var BookingModel = db.define('booking', modelDefinition);
// DB relations
BookingModel.associate = (models) => {
BookingModel.hasMany(models.BookingModel, {});
};
module.exports = BookingModel;
Index.js 文件的重要部分:
fs
.readdirSync(__dirname)
.filter(function(file) {
return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js');
})
.forEach(function(file) {
var model = sequelize.import(path.join(__dirname, file));
db[model.name] = model;
});
【问题讨论】:
标签: javascript node.js database express sequelize.js