From 6028068841a7ae54d0bdb9f61e554b0a2a029157 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 19 Dec 2012 12:08:38 +0100 Subject: [PATCH] [feature/soft-delete] Actually run schema changing queries in database update $db_tools is running in return statement mode, so all queries are not actually run, but just created. PHPBB3-9657 --- phpBB/install/database_update.php | 42 +++++++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index 0386f9f7e3..6bb5f3c8f0 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -2829,7 +2829,18 @@ function change_database_data(&$no_updates, $version) SET post_visibility = post_approved'; _sql($sql, $errored, $error_ary); - $db_tools->sql_column_remove(POSTS_TABLE, 'post_approved'); + $changes = array( + 'drop_columns' => array( + POSTS_TABLE => array('post_approved'), + ), + ); + + $statements = $db_tools->perform_schema_changes($changes); + + foreach ($statements as $sql) + { + _sql($sql, $errored, $error_ary); + } } if ($db_tools->sql_column_exists(TOPICS_TABLE, 'topic_approved')) @@ -2838,7 +2849,18 @@ function change_database_data(&$no_updates, $version) SET topic_visibility = topic_approved'; _sql($sql, $errored, $error_ary); - $db_tools->sql_column_remove(TOPICS_TABLE, 'topic_approved'); + $changes = array( + 'drop_columns' => array( + TOPICS_TABLE => array('topic_approved'), + ), + ); + + $statements = $db_tools->perform_schema_changes($changes); + + foreach ($statements as $sql) + { + _sql($sql, $errored, $error_ary); + } } if ($db_tools->sql_column_exists(TOPICS_TABLE, 'topic_replies')) @@ -2889,9 +2911,19 @@ function change_database_data(&$no_updates, $version) _sql($sql, $errored, $error_ary); } - $db_tools->sql_column_remove(TOPICS_TABLE, 'topic_replies'); - $db_tools->sql_column_remove(TOPICS_TABLE, 'topic_replies_real'); - $db_tools->sql_column_remove(FORUMS_TABLE, 'forum_topics_real'); + $changes = array( + 'drop_columns' => array( + TOPICS_TABLE => array('topic_replies', 'topic_replies_real'), + FORUMS_TABLE => array('forum_topics_real'), + ), + ); + + $statements = $db_tools->perform_schema_changes($changes); + + foreach ($statements as $sql) + { + _sql($sql, $errored, $error_ary); + } } // Add new permissions f_restore, f_softdelete, m_restore and m_softdelete