【发布时间】:2020-10-08 14:03:21
【问题描述】:
我已将 Sequelize 连接到 MySQL,并且该应用程序成功地在 Postman 和浏览器中显示了我的数据库中的数据。这是我直接从终端插入数据库的初始数据。
现在,我想通过 Sequelize 将新对象保存到我的数据库中,但它只向数据库发送“空”值,就好像它没有从我的请求中接收到任何值一样。
但是,当我从 Postman 发布对象(用户)时,我确实处于成功状态,并且我的请求正文具有正确类型的值。
还在我的server.js 文件中添加了db.sequelize.sync()。
知道我可能错过了什么吗?
这是我在 users.js 控制器文件中的代码:
const db = require('../models');
const User = db.users;
User.sync();
exports.createUser = (req, res) => {
const userWithPic = new User({
...req.body,
picture: `${req.protocol}://${req.get('host')}/images/${req.file.filename}`,
});
User.create(userWithPic)
.then((data) => res.send(data))
.catch((err) => res.status(500).send(err);
});
};
还注意到命令npx sequelize-cli model:generate --name User --attributes firstName:string,lastName:string,email:string 确实创建了一个模型,但它没有在迁移文件夹中创建迁移。我怀疑它应该是相关的。
谢谢!
【问题讨论】:
标签: javascript mysql sequelize.js sequelize-cli