diff --git a/src/Phinx/Db/Adapter/SQLiteAdapter.php b/src/Phinx/Db/Adapter/SQLiteAdapter.php
index <HASH>..<HASH> 100644
--- a/src/Phinx/Db/Adapter/SQLiteAdapter.php
+++ b/src/Phinx/Db/Adapter/SQLiteAdapter.php
@@ -770,7 +770,11 @@ class SQLiteAdapter extends PdoAdapter implements AdapterInterface
         $this->execute(sprintf('ALTER TABLE %s RENAME TO %s', $this->quoteTableName($tableName), $tmpTableName));
 
         foreach ($columns as $columnName) {
-            $sql = preg_replace(sprintf("/,[^,]*\(%s\) REFERENCES[^,]*\([^\)]*\)/", $this->quoteColumnName($columnName)), '', $sql, 1);
+            $search = sprintf(
+                "/,[^,]*\(%s(?:,`?(.*)`?)?\) REFERENCES[^,]*\([^\)]*\)[^,)]*/",
+                $this->quoteColumnName($columnName)
+            );
+            $sql = preg_replace($search, '', $sql, 1);
         }
 
         $this->execute($sql);
Fix the regex replacement to support "ON" definition to foreign key constraints using SQLite

The regex has had two modifications :
- it takes into account the fact that constraints can be define with "ON UPDATE" and "ON DELETE" columns definitions
- it also takes into account composite foreign key constraints. This means that if you have a constraint composed of 'fieldA' and 'fieldB' and you want to drop 'fieldA' FK, the composite constraint will be dropped