Comment définir un modèle pour lequel created_at et updated_at sont fournis plutôt que générés?
J'importe des données d'un endroit contenant déjà des données pour created_at
et updated_at
champs que j'aimerais conserver plutôt que de générer à chaque fois que l'objet est créé/mis à jour par sequelize (notre magasin secondaire).
J'ai essayé toutes les permutations possibles de la définition du modèle et des options pour que cela fonctionne et je continue à écraser mes champs avec ses propres horodatages: {silent: true}
, etc...
Pour être clair, les données d'entrée ont crééAt et mis à jourAt et j'aimerais utiliser le bulkCreate () de sequelize, etc. de sorte que les valeurs d'entrée fournies soient utilisées et stockées sur le modèle en tant que created_at et updated_at plutôt que générées par sequelize.
Voici ma définition actuelle du modèle:
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
});
L'option est
timestamps: false,
Où timestamps
est écrit entièrement en minuscules
Mise à jour:
En regardant le code de la fonction bulkCreate()
, il semble qu'il met toujours à jour les horodatages , donc, sans patch, ce n'est pas possible pour le moment