title: Sequelize transactions inside forEach issue
body: <p>I've tried to wrap these 2 queries on a transaction like this</p>
  
  <pre><code>const transaction = await db.sequelize.transaction()
  try {
      await Table1.create({
          name: data.name
      }, {transaction});
  
      trainees.foreach(async trainee =&gt; {
          await Table2.create({
              name: trainee.name
          }, {transaction});
      })
  
      await transaction.commit();
      api.publish(source, target, false, {message: `Data successfully saved`});
  } catch (error) {
      await transaction.rollback();
      api.error(source, target, {
          message: error.message || `Unable to save data`
      });
  }
  </code></pre>
  
  <p>The first query is executed , but following error appear on second query. </p>
  
  <pre><code>commit has been called on this transaction(2f8905df-94b9-455b-a565-803e327e98e1), you can no longer use it. (The rejected query is attached as the 'sql' property of this error)
  </code></pre>