sequelize更新记录主键值



我试图使用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

最新更新