Мне было интересно, будет ли в secelize реализовать (или планирует реализовать) механизм отслеживания изменений, целью которого было бы избежать запуска ненужных запросов. Например:Имеет ли secelize встроенный механизм отслеживания изменений?
var user = sequelize.User.find { where: { name: 'bob' } };
user.name = 'john';
user.save();
Последовательность будет, разумеется, обновлять имя пользователя. Теперь представьте, что уступка отсутствует.
var user = sequelize.User.find { where: { name: 'bob' } };
user.save();
Является ли продолжение настолько разумным, чтобы понять, что обновление базы данных не требуется (и не будет делать этого)? Есть ли какой-либо флаг, открытый объектом sequelize, чтобы увидеть, были ли какие-либо изменения внесены в модель?
Или нужно просто проверить вручную каждое свойство против оригинальной модели?
Я заметил user._previousDataValues и user.options.isDirty свойства в модели sequelize, но я не уверен, какова их цель, и должен ли я полагаться на свой код на них каким-либо образом.