mysql - 插入行时出现“找不到表”错误。续集和nodejs
问题描述
当我尝试使用 User.create() 将用户导入数据库时,sequelize 出现错误,提示该表不存在。即使我在创建函数上方创建了一个表格行。我的目标是在不使用 .sync 函数的 .then() 函数的情况下添加用户。
我试图将同步功能放在等待中,因为我认为同步功能需要更长的时间才能完成。
// imports ...
// Connecting to database
// Creating ORM object
const db = new sequelize(format("%s://%s:%s@%s:%s/%s", gvars.db_soft, gvars.db_user, gvars.db_pass, gvars.db_host, gvars.db_port, gvars.db_daba));
db.authenticate().then(() => {
console.log("Connection established.");
}).catch(err => {
console.error(err);
});
// Define users table
const User = db.define("users", {
firstName: {
type: sequelize.STRING,
allowNull: false
},
lastName: {
type: sequelize.STRING,
allowNull: false
}}, { freezeTableName: true,
});
db.sync({ force: true }).then(() => { console.log("Table created."); });
User.create({
firstName: "Milan",
lastName: "Vjestica"
});
//...starting app
我希望将用户添加到表中。
解决方案
您必须在 sequelize 中使用 promise,因为它是基于 promise 的 ORM,请尝试以下更改:
User.create({ firstName: "Milan",lastName: "Vjestica"}).then(function(user)
{
console.log(user.get('firstName'));
console.log(user.get('lastName'));
});
推荐阅读
- x509 - 多个组织单位 (OU) ASN.1 编码差异
- android - 在活动上按下返回按钮后在片段中设置监听器
- c++ - C++ push_back 一个二维向量中的许多一维向量
- javascript - 从 2020 年 12 月 31 日到 2020 年 1 月 1 日的时刻日历
- android - Kotlin CLI 的数据库
- django-rest-framework - 没有在 DJANGO 中获取更新 api 的 URL
- android - ParseServer LiveQuery 无法在 Android 上运行
- node.js - 无服务器无法在构建中添加包“pg”(postgres)
- android - 如何防止安卓应用录屏我的安卓系统
- html - 带有摄像头捕获的 Vue v-file-input