以下是进一步的细节
错误
:
project\u directory\u path\node\u modules\sequelize\lib\sequelize。js:322
模型init(属性、选项);
TypeError:模型。init不是函数
at模块。导出(project\u directory\u path\models\sequelize\app\u config\u setting.js:2:41)
在project\u directory\u path\models\index。js:34:48
at模块_编译(module.js:425:26)
at对象。模块_扩展。。js(模块js:432:10)
at模块。负载(模块js:356:32)
at功能。模块_负载(模块js:311:12)
at模块。要求(模块js:366:17)
at对象。(project\u directory\u path\server.js:12:14)
at模块_编译(module.js:425:26)
at模块。负载(模块js:356:32)
at功能。模块_负载(模块js:311:12)
在节点处。js:972:3
版本
续集版本:“^4.4.2”,
方言:“mysql”
文件(加载所有模型)
var fs = require('fs');
var path = require('path');
var sequelize = require('sequelize');
var sequelizeConnection =
require('../configs/dbConnection.js').exposeSequelizeConnectionObj();
var sequelizeModelDir = path.join(__dirname, 'sequelize');
var dbModels = {};
fs.readdirSync(sequelizeModelDir)
//avoiding the index.js and all other files
//expect the model files
.filter(function (file) {
return (file.indexOf(".") !== 0) && (file !== "index.js");
})
//iterating on each models and importing it
//in sequelize connection object
.forEach(function (file) {
var dir = 'sequelize/';
var models = sequelizeConnection.import(path.join(sequelizeModelDir, file));
dbModels[models.name] = models;
});
//exposing all the models
module.exports = dbModels;
dbModels.sequelize = sequelizeConnection;
我的一个模特
module.exports = function (sequelize,DataTypes) {
var roles = sequelize.define(
'roles',
{
id: {autoIncrement: true, type: DataTypes.INTEGER(11), allowNull: false, primaryKey: true},
role_name: {type: DataTypes.ENUM('super_admin'), allowNull: false},
code_name: {type: DataTypes.ENUM('super_admin'), allowNull: false},
row_status: {type: DataTypes.ENUM('active','inactive'), allowNull: true}
},
{
timestamps: false,
paranoid: true,
freezeTableName: true,
tableName: 'roles'
}
);
return roles; };
var sequelize = require('sequelize');
var sequelizeConnectionObj = new sequelize(process.env.DB_DATABASE_NAME,
process.env.DB_USERNAME, process.env.DB_PASSWORD, {
host: process.env.DB_HOSTNAME,
dialect: 'mysql',
define: {
timestamps: false
},
dialectOptions: {
multipleStatements: true
},
logging: false,
pool: {
max: 15,
min: 0,
idle: 10000
}
});
exports.exposeSequelizeConnectionObj = function connectSequelize() {
return sequelizeConnectionObj;
};