如何定义提供created_at和updated_at而不是生成的模型?
我从某个已经包含created_at
和updated_at
字段数据的地方导入数据,而不是每当对象由sequelize(我们的辅助商店)创建/更新时生成
我已经尝试了模型定义和选项的所有可能的排列以使其工作,并且仍然使用它自己的时间戳覆盖我的字段:{silent: true}
等...
要清楚,输入数据已经创建了和更新了,我想使用sequelize的bulkCreate()等,这样提供的输入值就会被使用并存储在模型上,如created_at和updated_at,而不是由sequelize生成。 / p>
这是我目前的模型定义:
const Lead = sequelize.define('lead', {
objectId: {
type: Sequelize.STRING,
field: 'objectId',
primaryKey: true,
allowNull: false
},
firstName: {
type: Sequelize.STRING,
field: 'first_name'
},
lastName: {
type: Sequelize.STRING,
field: 'last_name'
},
phoneNumber: {
type: Sequelize.STRING,
field: 'phone_number'
},
createdAt: {
type: Sequelize.DATE,
field: 'created_at',
},
updatedAt: {
type: Sequelize.DATE,
field: 'updated_at'
}
}, {
freezeTableName: true, // Model tableName will be the same as the model name
timestamps: false,
underscored: true
});
答案 0 :(得分:20)
选项是
timestamps: false,
timestamps
写成全小写
<强>更新强>
通过查看bulkCreate()
函数it looks that it always updates the timestamps的代码,所以,如果没有补丁,这是不可能的