From 9b8bfe1bbca0c825b20e27d1dcc27a68d5642b09 Mon Sep 17 00:00:00 2001 From: gRoussac Date: Tue, 21 May 2013 16:47:53 +0200 Subject: [PATCH] [-] INSTALLER : SQL error during upgrade from 1.5.0.9 --- .../php/p15013_add_missing_columns.php | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/install-dev/upgrade/php/p15013_add_missing_columns.php b/install-dev/upgrade/php/p15013_add_missing_columns.php index 0dc851843..55322a56c 100644 --- a/install-dev/upgrade/php/p15013_add_missing_columns.php +++ b/install-dev/upgrade/php/p15013_add_missing_columns.php @@ -32,13 +32,19 @@ function p15013_add_missing_columns() if ($id_module) { - if (!Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'statssearch` - ADD `id_group_shop` INT(10) NOT NULL default "1" AFTER id_statssearch, - ADD `id_shop` INT(10) NOT NULL default "1" AFTER id_statssearch')) - { - $errors[] = $db->getMsgError(); - } + $list_fields = Db::getInstance()->executeS('SHOW FIELDS FROM `'._DB_PREFIX_.'statssearch`'); + foreach ($list_fields as $k => $field) + $list_fields[$k] = $field['Field']; + + if (!in_array('id_group_shop', $list_fields)) + if (!Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'statssearch` + ADD `id_group_shop` INT(10) NOT NULL default "1" AFTER id_statssearch')) + $errors[] = $db->getMsgError(); + if (!in_array('id_shop', $list_fields)) + if (!Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'statssearch` + ADD `id_shop` INT(10) NOT NULL default "1" AFTER id_statssearch')) + $errors[] = $db->getMsgError(); } if (count($errors)) return array('error' => 1, 'msg' => implode(',', $errors)) ; -} +} \ No newline at end of file