first commit
This commit is contained in:
68
upgrade/list/upgrade.2011-11-28.php
Normal file
68
upgrade/list/upgrade.2011-11-28.php
Normal file
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
class Upgrade8 extends UpgradeNew
|
||||
{
|
||||
// overi, jestli je opravnene provest upgrade
|
||||
public function checkRightfulness_1()
|
||||
{
|
||||
$change = true;
|
||||
|
||||
$SQL = sqlQuery('SHOW FIELDS FROM '.getTableName('products_variations'));
|
||||
while ($row = sqlFetchArray($SQL)) {
|
||||
if ($row['Field'] == 'price') {
|
||||
$change = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return $change;
|
||||
}
|
||||
|
||||
// provest samotny upgrade
|
||||
public function makeChanges_1()
|
||||
{
|
||||
sqlQuery('ALTER TABLE '.getTableName('products_variations').' ADD price INT NULL AFTER delivery_time;');
|
||||
|
||||
$this->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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user