禁用 sequelize.js 中的 updatedAt(更新日期)字段

disable updatedAt (update date) field in sequelize.js

我使用 sequelize-auto 来生成模式,我尝试使用 findOne() 但我得到了这个错误:

Unhandled rejection SequelizeDatabaseError: Invalid column name 'updatedAt'.

在我的数据库中table没有字段updatedAt

例如我的 table 名字是 Users 我的代码是 Users.findOne()users table 中没有 updatedAt 字段.

db.users= sequelize.import(__dirname + "/models/users");
app.get('/users', function (req, res) {

  db.user.findOne().then(function (project) {
    res.json(project);
  })

});

如何解决?

Sequelize中Model的配置参考documentation

在您的 table 模型对象中应该如下所示。

var user = sequelize.define('user', { /* bla */ }, {

  // don't add the timestamp attributes (updatedAt, createdAt)
  timestamps: false,

  // If don't want createdAt
  createdAt: false,

  // If don't want updatedAt
  updatedAt: false,

  // your other configuration here

});

检查Usage of sequelize-auto-generation模块

  1. 为所有模型配置选项创建一个 json 文件(定义的标志对象 here)。

  2. 当执行命令时,你必须传递 -a--addtional 选项,你必须传递 json 文件配置路径。