node.js - Sequelize 无法创建新表

标签 node.js sequelize.js

我目前正在学习sequelize,它的define方法用于创建新的数据库表,但它不起作用......没有错误......你知道发生了什么吗?

var express = require('express');
var Sequelize = require('sequelize');
var sequelize = require('../db/sequelize_conf.js');
var router = express.Router();

var User = sequelize.define('user', 
{
    name: Sequelize.STRING,
    password: Sequelize.STRING,
    mail: Sequelize.STRING
},
{ 
    freezeTableName: true,
    timestamps: false
});

User.create({
    name: 'XiaoMing',
    password: '1234567890',
    mail: 'xiaoming@qq.com'
}).then(function(result){
    console.log('inserted XiaoMing ok');
}).catch(function(err){
    console.log('inserted XiaoMing error');
    console.log(err.message);
});

module.exports=router;


它说用户表不存在....

最佳答案

好的 ,

首先检查数据库是否存在用户表,因为下面的代码不会创建新表,它只会在用户表 中创建一个新条目

User.create({
    name: 'XiaoMing',
    password: '1234567890',
    mail: 'xiaoming@qq.com'
})

如果您 想要创建一个表,那么您可以使用
// This will create only all the tables defines via sequelize
sequelize.sync().then(() => 
    // put your user create code inside this
);

// OR

// This will create only user table
User.sync().then(() => {
    // put your user create code inside this
});

我希望这会消除你所有的疑虑

关于node.js - Sequelize 无法创建新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49547928/

相关文章:

node.js - 如何在nodejs中有路径别名?

node.js - randomBytes 与 pseudoRandomBytes

javascript - 从其他集合(不是引用)填充子字段

javascript - 具有更高级别值的复杂嵌套 sequelize 循环查询

javascript - Sequelize插入多对多连接表

mysql - 如何将mysql查询转换为sequelize语法?

javascript - 使用 mongoose 和express 在 MongoLab 上发布到 MongoDB

Javascript - For loop vs Linked List vs ES6 Set 查找两个匹配的整数

javascript - 对 Promise 处理的插入/创建进行 Sequelize 外键约束

Node.js 导出一个返回对象的函数