title: Sequelize transaction Not doing rollback when error throws
body: <p>I am using sequelize transaction (managed) and when error throws rollback is not really happening, maybe i am doing something wrong here ?</p>
  
  <p>my test case : when code block 2 throws an error the things done in code block 1 are not rolled back, please help.</p>
  
  <pre><code>return sequelize.transaction(function (t) {
          return db.VenueTag.destroy({where: {venueId: venue.venueId}}, {transaction: t}).then(function () {
          }, {transaction: t}).then(function () {
          //block 1
              return db.VenueTag.upsert({
              ...
              });
          }, {transaction: t}).then(function () {
          //block 2
              //update venue details
              return venue.updateAttributes({
                  ...
              },{ transaction: t});
          });
      }).then(function (result) {
          // Transaction has been committed
          // result is whatever the result of the promise chain returned to the transaction callback
          return res.status(200).json(result);
      }).catch(function (err) {
          // Transaction has been rolled back
          // err is whatever rejected the promise chain returned to the transaction callback
          return res.status(500).send({
              message: errorHandler.getErrorMessage(err)
          });
      });
  </code></pre>