我试图使用Sequelize更新现有实例的id值,但它没有持久化到DB
// model definition
var User = sequelize.define('users', {
id: {
type: DataTypes.STRING,
unique: true,
primaryKey: true,
field: 'id'
}
)};
// usage
User.findById(oldId).then(function(user) {
user.id = 'new value';
user.save(); // Id remains the same in DB
});
我使用的是sequelize 3.14.0,带有node和PostgreSQL数据库。
正如其他人在评论中暗示的那样,sequelize不允许您更新主键,请参阅https://github.com/sequelize/sequelize/blob/f482790b85ef2336bb97893c0eaa127d9d6bbc77/lib/instance.js#L334-L336
我已经为此打开了一个问题:https://github.com/sequelize/sequelize/issues/5827