upgradeOK(); } // overi, jestli je opravnene provest upgrade public function checkRightfulness_2() { $change = false; $SQL = sqlQuery('SHOW FIELDS FROM '.getTableName('products_variations_choices_values')); while ($row = sqlFetchArray($SQL)) { if ($row['Field'] == 'id_product') { $change = true; break; } } return $change; } // provest samotny upgrade public function makeChanges_2() { sqlQuery('UPDATE '.getTableName('products_variations_combination').' pvc JOIN '.getTableName('products_variations_choices_values').' pvcv2 ON pvc.id_value=pvcv2.id SET pvc.id_value = ( SELECT MIN(pvcv.id) FROM '.getTableName('products_variations_choices_values').' pvcv WHERE pvcv.value = pvcv2.value AND pvc.id_label = pvcv.id_label );', '@'); sqlQuery('CREATE TEMPORARY TABLE tmp_variation AS SELECT MIN(id) AS id,id_label,value,code FROM '.getTableName('products_variations_choices_values').' pvcv GROUP BY value,id_label', '@'); sqlQuery('DELETE pvcv FROM '.getTableName('products_variations_choices_values').' pvcv LEFT JOIN tmp_variation USING(id) WHERE tmp_variation.id IS NULL;', '@'); sqlQuery('ALTER TABLE '.getTableName('products_variations_choices_values').' DROP FOREIGN KEY `products_variations_choices_values_ibfk_2`;', '@'); sqlQuery('ALTER TABLE '.getTableName('products_variations_choices_values').' DROP id_product;', '@'); sqlQuery('DROP TABLE tmp_variation;', '@'); $this->upgradeOK(); } }