From 2a53d1fdc8f252e7b700a0457564c7cde16e9341 Mon Sep 17 00:00:00 2001 From: mMarinetti Date: Mon, 18 Jun 2012 13:20:10 +0000 Subject: [PATCH] // fix column in statssearch when upgrading from 1.3/1.4/1.5/1.5.0.13 --- .../php/p15014_add_missing_columns.php | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/install-dev/upgrade/php/p15014_add_missing_columns.php b/install-dev/upgrade/php/p15014_add_missing_columns.php index ac3bf65ab..8e22ea40c 100644 --- a/install-dev/upgrade/php/p15014_add_missing_columns.php +++ b/install-dev/upgrade/php/p15014_add_missing_columns.php @@ -29,17 +29,23 @@ function p15014_add_missing_columns() { $errors = array(); $db = Db::getInstance(); - $id_module = $db->getValue('SELECT id_module FROM `'._DB_PREFIX_.'module` WHERE name="statssearch"'); + // for module statssearch + $id_module = $db->getValue('SELECT id_module FROM `'._DB_PREFIX_.'module` WHERE name="statssearch"'); if ($id_module) { - if (!Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'statssearch` - CHANGE `id_group_shop` `id_shop_group` INT(10) NOT NULL default "1" - ')) - { - $errors[] = $db->getMsgError(); - } + $list_fields = $db->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` + CHANGE `id_group_shop` `id_shop_group` INT(10) NOT NULL default "1"')) + { + $errors[] = $db->getMsgError(); + } } + if (count($errors)) return array('error' => 1, 'msg' => implode(',', $errors)) ; }