我试图理解Sequelize是如何工作的,但我不明白为什么我得到了SQLITE_ERROR: no such table: Users
,即使我用sequelize.define
创建了表。代码:
const { Sequelize, DataTypes } = require('sequelize');
const db = new Sequelize({
dialect: 'sqlite',
storage: './database.sqlite',
});
async function testdb() {
try {
await db.authenticate();
console.log('db connected'); // test 1
} catch (error) {
console.error(error);
}
const User = db.define('User', {
userName: {
type: DataTypes.STRING,
allowNull: false,
unique: true,
},
email: {
type: DataTypes.STRING,
allowNull: false,
},
bio: {
type: DataTypes.TEXT,
},
});
console.log(db.models.User); // test 2
const user = await User.create({
userName: 'epic_user01',
email: 'epic.user@gmail.com',
bio: 'hello world!!!',
});
console.log(user.id); // test 3
}
testdb();
在我收到错误消息之前,测试1和2返回成功。
1条答案
按热度按时间lrpiutwd1#
您必须调用sync来实际创建表,在define之后和create之前添加以下命令: