* @param {Array} [fields] An optional array of strings, representing database columns. If fields is provided, only those columns will be validation and saved.
* @param {Array} [fields] An optional array of strings, representing database columns. If fields is provided, only those columns will be validation and saved.
* @param {Object} [options]
* @param {Object} [options]
* @param {Object} [options.fields] An alternative way of setting which fields should be persisted
* @param {Object} [options.fields] An alternative way of setting which fields should be persisted
* @param {Boolean} [options.silent=false] If true, the updatedAt timestamp will not be updated.
* A slightly modified version of bluebird promises. This means that, on top of the methods below, you can also call all the methods listed on the link below.
*
* The main difference is that sequelize promises allows you to attach a listener that will be called with the generated SQL, each time a query is run.