title: Laravel transaction rollback does not seem to work
body: <p>I am running <code>laravel 5.4</code> and noticed that rollbacks in transactions do not work. I set my database engine to <code>InnoDB</code> in the <code>settings.php</code> file and tried <code>DB::rollback();</code> and <code>DB::rollBack();</code> (i.e. upper and lower case b) but it does not roll back my database.</p>
  
  <p>I wrote a unit test bellow. It creates a record, commits it, then rolls back. However, the last assertion fails. After it rolls back, the record is still found in the database. Is there something I am missing? Or is there a bug with laravel?</p>
  
  <pre><code>public function testRollback()
  {
      $this-&gt;artisan('migrate:refresh', [
          '--seed' =&gt; '1'
      ]);
  
      DB::beginTransaction();
  
      Season::create(['start_date' =&gt; Carbon::now(), 'end_date' =&gt; Carbon::now(),]);
      DB::commit();
      $this-&gt;assertDatabaseHas('seasons', [
          'start_date' =&gt; Carbon::now(), 'end_date' =&gt; Carbon::now(),
      ]);
  
      DB::rollBack();
      // This assertion fails. It still finds the record after calling roll back
      $this-&gt;assertDatabaseMissing('seasons', [
          'start_date' =&gt; Carbon::now(), 'end_date' =&gt; Carbon::now(),
      ]);
  }
  </code></pre>