续集–时间戳记不足

时间:2019-08-18 15:47:10

标签: node.js sequelize.js

我用蛇形的所有属性定义了我的模型。我还在配置中设置了timestamps: trueunderscored: true,但是这些选项不会将createdAtupdatedAtdeletedAt转换为蛇形。

将自动生成的时间戳转换为蛇形的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

这是针对 createdAtupdatedAtdeletedAt 的:

如果您使用的是 Version5 :( DOC

underscored: true, // <--- You need only this
  

如果提供了字符串,则覆盖createdAt属性的名称,   或将其禁用(如果为false)。时间戳记必须为真。强调领域   将使用带下划线的设置进行设置。


如果低于版本5 :( DOC

  

如果提供了字符串,则覆盖createdAt列的名称,或者   如果为false,则将其禁用。时间戳记必须为真。不受   强调设置。

需要做一些额外的工作

var User = sequelize.define('User', {
    createdAt: 'created_at',
    updatedAt: 'updated_at'
}, {
    timestamps: true,
    underscored: true
});

// ------------------------ OR -----------------------

var User = sequelize.define('User', {
    createdAt: {
        field: 'created_at',
        type: Sequelize.DATE
    },
    updatedAt: {
        field: 'updated_at',
        type: Sequelize.DATE
    }
}, {
    timestamps: true,
    underscored: true
});