保存记录时需要分配自动增量ID值

时间:2018-11-06 18:22:56

标签: sequelize.js

使用sequelize保存数据库记录时遇到一个奇怪的错误。错误是:

Error: DatabaseError: null value in column 'id' violates not-null constraint

id字段是作为自动增量创建的serial,在save之前未分配值。这是代码:

order = Order.build(d);
           try {
               await order.save();
           } catch(error) {
               console.log('Order# ${d.platform_order_id} NOT saved.', error.message);
           };

我的理解是,我不需要为id赋值,因为数据库将负责处理它。这是order-id-seq

enter image description here

我错过了什么?

1 个答案:

答案 0 :(得分:1)

您可以更改定义模型架构,如下所示:-

添加自动增量:在ID字段中为true

id: {
    type: DataTypes.UUID,
    field: 'id',
    allowNull: false,
    primaryKey: true,
    autoIncrement: true
}