not null violation: model.field cannot be null

Viewed 63

I have sequelize models and everything is synced up with the db:

supplier:

class Suppliers extends Model {}

Suppliers.init({

  id: {
    type: DataTypes.UUID,
    defaultValue: DataTypes.UUIDV4,
    primaryKey: true
  },
 name: {
  type: DataTypes.STRING,
  allowNull: false
},
  firstName: {
    type: DataTypes.STRING,
    allowNull: false
  },
  email: {
    type: DataTypes.STRING,
   allowNull: false
  },
  password: {
    type: DataTypes.STRING,
   allowNull: false
  },
  phone: {
    type: DataTypes.STRING,
    allowNull: false
  },
  lastName: {
    type: DataTypes.STRING
    // allowNull defaults to true
  }
}, {

  sequelize, 
  modelName: 'supplier'
});


console.log({suppliers:Suppliers === sequelize.models.Suppliers}); 

export{Suppliers}

and I am making this query to add records to the suppliers table :

async function create(user) {
    init()
    user.dateCreated = new Date().toISOString();
    user.dateUpdated = new Date().toISOString();
let nwUser;

    try {
      
console.log({values: {name:user.name, password:user.hash, email:user.email, phone: user.phone, firstName: user.firstName, lastName: user.lastName}})

         nwUser = await Suppliers.create({values: {name:user.name, password:user.hash, email:user.email, phone: user.phone, firstName: user.firstName, lastName: user.lastName}}).then(rs=>{
        console.log({rscreate:rs})     
         return   rs
        })
        .catch(err=>console.log(err));
        return nwUser
    } catch (error) {
        console.log(error);
    }

but I get the above mentioned error for all the values I pass to the query. but as you see when I console.log them they are there.

1 Answers

You shouldn't wrap all fields into values prop. Just pass them directly:

nwUser = await Suppliers.create({name:user.name, password:user.hash, email:user.email, phone: user.phone, firstName: user.firstName, lastName: user.lastName})
Related