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,