From 52afa74f4e6080952a72b6f40f15e6ce0a547b49 Mon Sep 17 00:00:00 2001 From: Oliver Schramm Date: Thu, 11 Aug 2016 16:38:56 +0200 Subject: [PATCH] [ticket/14742] Avoid loop while reverting schema PHPBB3-14742 --- phpBB/phpbb/db/migrator.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/phpBB/phpbb/db/migrator.php b/phpBB/phpbb/db/migrator.php index 965d117b0b..b82b1b918a 100644 --- a/phpBB/phpbb/db/migrator.php +++ b/phpBB/phpbb/db/migrator.php @@ -457,8 +457,13 @@ class migrator WHERE migration_name = '" . $this->db->sql_escape($name) . "'"; $this->db->sql_query($sql); + $this->last_run_migration = false; unset($this->migration_state[$name]); } + else + { + $this->set_migration_state($name, $state); + } } return true; @@ -503,8 +508,8 @@ class migrator // Set state to false since we reached the point we were at $state = false; - // There is a programmed tendency to get stuck in this case - if (strpos($step[0], 'dbtools') === 0 && ($last_result === null || $last_result === true)) + // There is a tendency to get stuck in some cases + if ($last_result === null || $last_result === true) { continue; }