/ / Il sequelize ha qualche meccanismo integrato di rilevamento delle modifiche? - javascript, node.js, sequelize.js

Il sequelize ha qualche meccanismo integrato di tracciamento delle modifiche? - javascript, node.js, sequelize.js

Mi chiedevo se sequelize implementare (o piani per implementare) qualsiasi meccanismo di tracciamento delle modifiche, che l'obiettivo sarebbe quello di evitare l'esecuzione di query non necessarie. Per esempio:

var user = sequelize.User.find { where: { name: "bob" } };

user.name = "john";
user.save();

Il sequelize aggiornerà ovviamente il nome utente. Ora, immagina che manchi il compito.

var user = sequelize.User.find { where: { name: "bob" } };

user.save();

Il sequelize è abbastanza intelligente da capire che non è necessario alcun aggiornamento del database (e non lo si può fare?) C'è qualche flag esposto dall'oggetto sequelize per vedere se sono state apportate modifiche al modello?

O dovrei semplicemente testare a mano ogni proprietà contro il modello originale?

Ho notato proprietà user._previousDataValues ​​e user.options.isDirty sul modello sequelize, ma non sono sicuro di quale sia il loro scopo e se dovrei fare affidamento sul mio codice su quelli in qualsiasi modo.

risposte:

1 per risposta № 1

Puoi chiamare user.changed () per ottenere un array di chiavi che sono state cambiate. Tuttavia, penso che chiamare .save () attiverà il salvataggio a prescindere se ci sia stato un cambiamento nell'istanza.