title: Can't lock tables during Laravel migration
body: <p>I need to make a change to a table that results in a very large column being dropped. If I try to drop the column without write locking the table, MySQL will throw the error:</p>
  
  <pre><code>SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '10348300' for key 'PRIMARY' (SQL: alter table `users` drop `tracking`)
  </code></pre>
  
  <p>However, if I try to put the alteration into a transaction along with <code>LOCK TABLES</code> then Laravel fails to migrate with this error:</p>
  
  <pre><code>SQLSTATE[HY000]: General error: 1100 Table 'migrations' was not locked with LOCK TABLES
  </code></pre>
  
  <p>Here is my migration statement:</p>
  
  <pre><code>\DB::transaction(function () {
      \DB::unprepared("
          LOCK TABLES `users` WRITE;
          ALTER TABLE `users` DROP COLUMN tracking;
          UNLOCK TABLES;"
      );
  }, 5);
  </code></pre>
  
  <p>How do I get around this issue?</p>