From 2f7d1984a338faae7d5666deac41e1de7a0ba93d Mon Sep 17 00:00:00 2001 From: mMarinetti Date: Fri, 17 Feb 2012 15:34:28 +0000 Subject: [PATCH] // fix category_product index unique in upgrade process 1.4.7.0 git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@13440 b9a71923-0436-4b27-9f14-aed3839534dd --- .../php/category_product_index_unique.php | 43 +++++++++++++++++++ install-dev/upgrade/sql/1.4.7.0.sql | 4 +- 2 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 install-dev/upgrade/php/category_product_index_unique.php diff --git a/install-dev/upgrade/php/category_product_index_unique.php b/install-dev/upgrade/php/category_product_index_unique.php new file mode 100644 index 000000000..dd57620ce --- /dev/null +++ b/install-dev/upgrade/php/category_product_index_unique.php @@ -0,0 +1,43 @@ + +* @copyright 2007-2011 PrestaShop SA +* @version Release: $Revision$ +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +function category_product_index_unique() +{ + $res = true; + $key_exists = Db::getInstance()->executeS('SHOW INDEX + FROM `'._DB_PREFIX_.'category_product` + WHERE Key_name = "category_product_index"'); + if ($key_exists) + $res &= Db::getInstance()->execute('ALTER TABLE + `'._DB_PREFIX_.'category_product` + DROP INDEX `category_product_index`'); + $res &= Db::getInstance()->execute('ALTER TABLE + `'._DB_PREFIX_.'category_product` + ADD UNIQUE `category_product_index` (`id_category`, `id_product`)'); + + return $res; +} diff --git a/install-dev/upgrade/sql/1.4.7.0.sql b/install-dev/upgrade/sql/1.4.7.0.sql index 4a4e1dc42..f38a89385 100644 --- a/install-dev/upgrade/sql/1.4.7.0.sql +++ b/install-dev/upgrade/sql/1.4.7.0.sql @@ -1,8 +1,6 @@ SET NAMES 'utf8'; -ALTER TABLE `PREFIX_category_product` DROP INDEX `category_product_index`; -ALTER TABLE `PREFIX_category_product` ADD UNIQUE `category_product_index` (`id_category`,`id_product`); - +/* PHP:category_product_index_unique(); */; CREATE TABLE IF NOT EXISTS `PREFIX_order_tax` ( `id_order` int(11) NOT NULL,