我有 2 个 express.js 应用程序并运行 sequelize.sync(),但在我的第一个应用程序中它生成表,而其他应用程序不生成表,我想知道为什么,因为脚本是相同的。
数据库.js
const Sequelize = require('sequelize');
const sequelize = new Sequelize('student-affairs', 'root', '', {
dialect: 'mysql',
host: 'localhost',
operatorsAliases: false,
});
module.exports = sequelize;
组织.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;
应用程序.js
// Database
const sequelize = require('./configs/database');
sequelize
.sync()
.then(result => {
console.log(result);
app.listen(3001);
})
.catch(err => {
console.log(err);
});
但是在我登录后,它总是像这样返回空模型
楷模: {},
模型管理器:模型管理器{模型:[], Sequelize :[循环]},
它没有模型。任何人都可以解释为什么?谢谢
最佳答案
我只是意识到我不会在 app.js 中调用组织模型,一旦我在 app.js 中定义它并解决问题。
我认为这是一个基本错误。现在我明白它是如何工作的了。
// Models
const Organization = require('./models/organization');
sequelize
.sync()
.then(result => {
app.listen(3000);
})
.catch(err => {
console.log(err);
});
关于node.js - 为什么 sequelize.sync() 总是返回空模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54589036/