首页 > 解决方案 > 有没有办法为所有模型全局禁用时间戳列?

问题描述

所以我可以禁用特定模型的时间戳列,但是有没有办法为所有模型禁用它?

const Contract = sequelize.define('Contract', {
    idContract: {
        type: Sequelize.INTEGER,
        primaryKey: true
    },
    AccountNo_Lender: {
        type: Sequelize.STRING
    }
}, { timestamps: false });

标签: node.jssequelize.js

解决方案


您可以在初始化sequelize对象时定义它。

const sequelize = new Sequelize('test', 'postgres', 'postgres', {
  host: '127.0.0.1',
  dialect: 'postgres',
  define: {
    timestamps: false
  },
});

下面的选项define与我们在模型中定义它们时相同。所以所有可以在模型内部使用的选项也可以在这里使用。从文档

// 指定选项,在调用 sequelize.define 时使用。
// 下面的例子: // define: { timestamps: false } // 基本上和: // sequelize.define(name, attributes, { timestamps: false }) // 所以定义每个模型的时间戳是不必要


推荐阅读