Sequelize instance methods not working

I think you are using the sequelize model definition api incorrectly. http://docs.sequelizejs.com/en/latest/docs/models-definition/#expansion-of-models

This is the correct way:

var User = sequelize.define('User',{}, {
  classMethods: {
    method1: ...
  },
  instanceMethods: {
    method2: ...
  }
});

not like this:

var User = sequelize.define('User',{}, {
  classMethods: {
    method1: ...
  }
},{
  instanceMethods: {
    method2: ...
  }
});

For anyone who's having a similar problem, I ran into the same issue but using Sequelize 5.21.5. According to this article, Sequelize Instance Methods, starting with Sequelize 4.0 and above, you have to use the prototype methodology in order to define instance methods like so:

    // Adding an instance level methods.
    User.prototype.validPassword = function(password) {
      return bcrypt.compareSync(password, this.password);
};