为什么sequelize.sync()总是返回空的车型?
我有2个express.js应用程序和运行sequelize.sync(),但在我的第一个应用它生成的表,和其他人没有生成的表,我不知道为什么,因为剧本是同文。
database.js
const Sequelize = require('sequelize');
const sequelize = new Sequelize('student-affairs', 'root', '', {
dialect: 'mysql',
host: 'localhost',
operatorsAliases: false,
});
module.exports = sequelize;
organization.js
const Sequelize = require('sequelize');
const sequelize = require('../configs/database');
const Organization = sequelize.define('organization', {
id: {
type: Sequelize.INTEGER,
allowNull: false,
primaryKey: true,
autoIncrement: true
},
name: {
type: Sequelize.STRING,
allowNull: false
},
logo: {
type: Sequelize.STRING
},
createdBy: {
type: Sequelize.INTEGER,
allowNull: false
},
updatedBy: {
type: Sequelize.INTEGER,
allowNull: false
}
});
module.exports = Organization;
app.js
// Database
const sequelize = require('./configs/database');
sequelize
.sync()
.then(result => {
console.log(result);
app.listen(3001);
})
.catch(err => {
console.log(err);
});
但之后,我记录它,它总是返回空这样的车型
机型:{},的ModelManager:{的ModelManager型号:[],sequelize:[循环]},
它没有模型。任何人都可以解释,为什么?谢谢
回答如下:我只知道我是不是叫组织模式在app.js,有一次我在app.js定义它,它解决问题。
我认为这是一个基本的错误。现在我明白它是如何工作的。
// Models
const Organization = require('./models/organization');
sequelize
.sync()
.then(result => {
app.listen(3000);
})
.catch(err => {
console.log(err);
});