为什么 save() 在 Sequelize 中不起作用?

Ric*_*ard 2 javascript sequelize.js

我调用save()数据库中已存在且已定义主键的对象。

Sequelize 告诉我,而不是更新对象id must be unique。为什么?

我不想说update( {every,single,field,except,the,id})。那太乏味了。

这是我当前的代码:

const instance = db.dbo__peach_payments_transactions.build(existingPayment);
return db.transaction( async (transaction) => {
  return instance.save();
});
Run Code Online (Sandbox Code Playgroud)

我现在也尝试过:

return instance.update({fields: [
          'updated_at',
          'orders_id',
          'payment_states_id',
          'response_data',
          'token',
          'result',
          'reason_code',
          'reason_message',
          'price',
          'processed_at']});
      });
Run Code Online (Sandbox Code Playgroud)

但这会生成相反的sql,而不是保存这些字段,而是排除它们,给我错误:(updated_at cannot be null即使它不为空)使用此sql:

"INSERT INTO "dbo"."peach_payments_transactions" ("peach_payments_transactions_id","created_at") VALUES ('7fb301e9-bb72-4a70-9ee5-0db1376e83e8','2016-07-11 13:48:20.137 +00:00') RETURNING *;"

dem*_*isd 5

您可以尝试在将其发送到服务器之前设置instance.isNewRecord为吗?false

也许sequelize将其视为一条新记录,因此它尝试插入它而不是更新