NodeJS Sequelize模型options.timestamp在MSSQL中生成额外的列

时间:2019-06-28 19:02:07

标签: node.js sequelize.js

我目前是NodeJS和Sequelize的新手,但是我现在正在尝试通过使用Sequelize构建模型并调用db:migrate Sequelize-cli命令来填充MSSQL数据库。

我遇到的问题是模型中的timestamps选项被忽略,并且数据库中生成了timestamp列(createdAt和updatedAt)。

这是我的模型的一个示例:

"use strict";
module.exports = (sequelize, DataTypes) => {
  const User = sequelize.define(
    "User",
    {
      userID: {
        type: DataTypes.INTEGER,
        field: "user_ID",
        primaryKey: true,
        autoIncrement: true,
        allowNull: false
      },
      username: {
        type: DataTypes.STRING,
        field: "username",
        allowNull: false
      },
      password: {
        type: DataTypes.STRING,
        field: "password",
        allowNull: false
      },
      dateCreated: {
        type: DataTypes.DATE,
        field: "date_created",
        allowNull: false
      }
    },
    {
      tableName: "users",
      timestamps: false
    }
  );
  User.associate = function(models) {
    // No associations
  };
  return User;
};

我尝试传递

{
  tableName: "users",
  timestamps: false
}

{
  tableName: "users",
  timestamps: true,
  createdAt: false,
  updatedAt: false,
  deletedAt: false
}

删除所有表,然后再次执行db:migrate,但列仍会出现。

不胜感激/:

谢谢!

0 个答案:

没有答案