Sequelize 默认方法 findOne 错误

Sequelize default method findOne bug

观察:我正在使用 Sequelize 最新版本、迁移、控制器和模型

我有这个模型叫做 Tokens:

'use strict';
module.exports = (sequelize, DataTypes) => {
  const Tokens = sequelize.define('Tokens', {
    usuarios_id: {
      type: DataTypes.INTEGER,
      allowNull: false
    },
    token: {
      type: DataTypes.STRING,
      unique: true
    },
    empresa_id: {
      type: DataTypes.INTEGER,
      allowNull: false
    }
  }, {
    paranoid: false,
    freezeTableName: true
  });
  Tokens.associate = function(models) {
    // associations can be defined here
  };
  return Tokens;
};

我在我的中间件中这样调用方法 findOne():

const token = await Tokens.findOne({ where: { token: tokenHeader }})

记录 returns 我拥有的更多字段,但我将它们从模型和迁移中删除:

Executing (default): SELECT "id", "usuarios_id", "token", "empresa_id", "createdAt", "updatedAt" FROM "Tokens" AS "Tokens" WHERE "Tokens"."token" = '900150983cd24fb0d6963f7d28e17f72';

默认情况下,Sequelize 会将属性 createdAt 和 updatedAt 添加到您的模型中,因此您将能够知道数据库条目何时进入数据库以及最后一次更新的时间。如果您不需要这些字段,可以将 timestamps: false 传递给配置。

Link 到文档:https://sequelize.org/v5/manual/models-definition.html#timestamps