diff --git a/install-dev/data/db_structure.sql b/install-dev/data/db_structure.sql index f8c57eb97..3d17ef353 100644 --- a/install-dev/data/db_structure.sql +++ b/install-dev/data/db_structure.sql @@ -871,7 +871,8 @@ CREATE TABLE `PREFIX_image` ( `cover` tinyint(1) unsigned NOT NULL default '0', PRIMARY KEY (`id_image`), KEY `image_product` (`id_product`), - KEY `id_product_cover` (`id_product`,`cover`) + KEY `id_product_cover` (`id_product`,`cover`), + UNIQUE KEY `idx_product_image` (`id_image`, `id_product`, `cover`) ) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8; CREATE TABLE `PREFIX_image_lang` ( diff --git a/install-dev/upgrade/php/add_missing_image_key.php b/install-dev/upgrade/php/add_missing_image_key.php new file mode 100644 index 000000000..94c88138a --- /dev/null +++ b/install-dev/upgrade/php/add_missing_image_key.php @@ -0,0 +1,18 @@ +executeS('SHOW INDEX + FROM `'._DB_PREFIX_.'image` + WHERE Key_name = \'idx_product_image\''); + if ($key_exists) + $res &= Db::getInstance()->execute('ALTER TABLE + `'._DB_PREFIX_.'image` + DROP KEY `idx_product_image`'); + $res &= Db::getInstance()->execute('ALTER TABLE + `'._DB_PREFIX_.'image` + ADD UNIQUE `idx_product_image` (`id_image`, `id_product`, `cover`)'); + + return $res; +} diff --git a/install-dev/upgrade/sql/1.5.0.13.sql b/install-dev/upgrade/sql/1.5.0.13.sql new file mode 100644 index 000000000..69c431ffd --- /dev/null +++ b/install-dev/upgrade/sql/1.5.0.13.sql @@ -0,0 +1,3 @@ +SET NAMES 'utf8'; + +/* PHP:add_missing_image_key(); */;