我对Sequelize并不陌生,我正在尝试使用它来创建基本的Crud API。我正在使用npm软件包的版本^ 5.21.2。
当我使用node或nodemon尝试在本地运行服务器时,nodemon给了我:
[nodemon] starting `node server.js`
[nodemon] clean exit - waiting for changes before restart
[nodemon] restarting due to changes..."
我不确定为什么这种情况一直发生,但是只有当我具有'db.sequelize.sync ...'包装函数时,才会发生。我无法弄清楚为了持续的数据库连接需要进行哪些更改。
db.sequelize.sync(syncOptions).then(function() {
app.listen(PORT,console.log("==> ? Listening on port %s.",PORT));
});
我的开发配置如下:
"development": {
"username": "root","password": "*Password*","database": "planit","host": "127.0.0.1","dialect": "mysql","operatorsAliases": "false"
}
这是我的型号索引
"use strict";
var fs = require("fs");
var path = require("path");
var Sequelize = require("sequelize");
var basename = path.basename(module.filename);
var env = process.env.NODE_ENV || "development";
var config = require(__dirname + "/../config/config.json")[env];
var db = {};
if (config.use_env_variable) {
var sequelize = new Sequelize(process.env[config.use_env_variable]);
} else {
var sequelize = new Sequelize(config.database,config.username,config.password,config);
}
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;
});
Object.keys(db).forEach(function(modelName) {
if (db[modelName].associate) {
db[modelName].associate(db);
}
});
db.sequelize = sequelize;
db.Sequelize = Sequelize;
module.exports = db;