2015-11-23 70 views
0

我试图更新值使用Sequelize现有实例的ID,但它没有被保存到数据库sequelize更新记录的主键值

// 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与节点和一个PostgreSQL数据库。

+1

你有没有考虑分离这一领域的别的东西,并将主键视为静态?我的直觉是主键被认为不会被大多数ORM所改变。 – slifty

+0

您应该打印错误以查看发生了什么, user.save()。catch(function(err){ console.log(err) }); – syldor

回答