node.js - ExpressJS + Sequelize er_bad_field_error : Unknown column in fieldlist

标签 node.js express database-schema sequelize.js

将以下模型文件与 Sequelize 结合使用,此代码运行无误并允许我执行插入:

var crypto = require('crypto');

module.exports = function(sequelize, DataTypes) {

var User = sequelize.define('User', 
    {
        title: DataTypes.STRING,
        name: DataTypes.STRING,
        email: DataTypes.STRING,
        username: DataTypes.STRING,
        hashedPassword: DataTypes.STRING,
        provider: DataTypes.STRING,
        salt: DataTypes.STRING, 
        facebookUserId: DataTypes.INTEGER,
        twitterUserId: DataTypes.INTEGER,
        twitterKey: DataTypes.STRING,
        twitterSecret: DataTypes.STRING,
        github: DataTypes.STRING,
        openID: DataTypes.STRING
    },
...
)

但是,当我尝试手动添加自己感兴趣的字段时,即添加如下邮政编码字段时:

module.exports = function(sequelize, DataTypes) {

var User = sequelize.define('User', 
    {
        title: DataTypes.STRING,
        name: DataTypes.STRING,
        email: DataTypes.STRING,
        username: DataTypes.STRING,
        hashedPassword: DataTypes.STRING,
        provider: DataTypes.STRING,
        salt: DataTypes.STRING, 
        facebookUserId: DataTypes.INTEGER,
        twitterUserId: DataTypes.INTEGER,
        twitterKey: DataTypes.STRING,
        twitterSecret: DataTypes.STRING,
        github: DataTypes.STRING,
        openID: DataTypes.STRING,
        ZIP: DataTypes.INT
    },

传播以下错误:

 SequelizeDatabaseError: ER_BAD_FIELD_ERROR: Unknown column 'title' in 'field list'

为什么不允许我在模型中添加字段以便能够从 Controller 访问它们?

最佳答案

也许 sequelize/SQL 因旧表中的现有行而混淆。如果您已经做了一些,您是否尝试过删除数据库中的任何现有表?正如已经说过的,同步数据库很重要,但也要将“force”设置为 true 以便删除旧表(只有在您的数据库未投入生产时才这样做!)。它在文档中:http://docs.sequelizejs.com/en/1.7.0/articles/getting-started/

它对我有用。

sequelize 
.sync({ force: true })
.then(function(err) {
    console.log('It worked!');
  }, function (err) { 
         console.log('An error occurred while creating the table:', err);
  });

关于node.js - ExpressJS + Sequelize er_bad_field_error : Unknown column in fieldlist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33663579/

相关文章:

sql - 如何更改 MSSQL 中所有表、 View 和存储过程的架构

django - 地址数据库模式 - 更多外键或纯文本?

javascript - Apple IAP 收据验证 Node.js

node.js - Sequelize [ES6] 分离文件循环引用

javascript - 在 Meteor 中发布到客户端之前转换字段

javascript - 如何在 express + passport js 中删除注销时的 cookie?

javascript - 如何在 Node.js 中导入 util 模块?

node.js - 处理选择表单元素的 Node js

javascript - 如何使用 Express 框架从 Node.js 中的请求中获取字段?

特色/强调产品的Mysql表方案