123 lines
3.7 KiB
PHP
123 lines
3.7 KiB
PHP
<?php
|
|
|
|
class Upgrade15 extends UpgradeNew
|
|
{
|
|
// overi, jestli je opravnene provest upgrade
|
|
public function checkRightfulness_1()
|
|
{
|
|
$change = true;
|
|
|
|
$SQL = sqlQuery('SHOW FIELDS FROM '.getTableName('orders_history'));
|
|
while ($row = sqlFetchArray($SQL)) {
|
|
if ($row['Field'] == 'admin') {
|
|
$change = false;
|
|
break;
|
|
}
|
|
}
|
|
|
|
return $change;
|
|
}
|
|
|
|
// provest samotny upgrade
|
|
public function makeChanges_1()
|
|
{
|
|
$SQL = sqlQuery('ALTER TABLE '.getTableName('orders_history').'
|
|
ADD `admin` INT(11) NULL');
|
|
|
|
$SQL = sqlQuery('ALTER TABLE '.getTableName('orders_history').'
|
|
ADD CONSTRAINT `orders_history_ibfk_2` FOREIGN KEY (`admin`) REFERENCES `admins` (`id`) ON DELETE SET NULL ON UPDATE CASCADE');
|
|
|
|
$this->upgradeOK();
|
|
}
|
|
|
|
// overi, jestli je opravnene provest upgrade
|
|
public function checkRightfulness_2()
|
|
{
|
|
$change = false;
|
|
|
|
$SQL = sqlQuery('SHOW FIELDS FROM '.getTableName('orders'));
|
|
while ($row = sqlFetchArray($SQL)) {
|
|
if ($row['Field'] == 'id_user' && $row['Null'] == 'NO') {
|
|
$change = true;
|
|
break;
|
|
}
|
|
}
|
|
|
|
return $change;
|
|
}
|
|
|
|
// provest samotny upgrade
|
|
public function makeChanges_2()
|
|
{
|
|
$SQL = sqlQuery('ALTER TABLE '.getTableName('orders').' CHANGE `id_user` `id_user` INT(11) UNSIGNED DEFAULT NULL');
|
|
|
|
$SQL = sqlQuery('UPDATE '.getTableName('orders').' o
|
|
LEFT JOIN '.getTableName('users').' u ON o.id_user = u.id
|
|
SET o.id_user = NULL
|
|
WHERE o.id_user IS NOT NULL AND u.id IS NULL');
|
|
|
|
$SQL = sqlQuery('ALTER TABLE '.getTableName('orders').'
|
|
ADD FOREIGN KEY ( `id_user` ) REFERENCES `users` ( `id` ) ON DELETE SET NULL ON UPDATE CASCADE');
|
|
|
|
$this->upgradeOK();
|
|
}
|
|
|
|
// overi, jestli je opravnene provest upgrade
|
|
public function checkRightfulness_3()
|
|
{
|
|
$change = false;
|
|
|
|
$SQL = sqlQuery('SHOW FIELDS FROM '.getTableName('products'));
|
|
while ($row = sqlFetchArray($SQL)) {
|
|
if ($row['Field'] == 'producer' && $row['Null'] == 'NO') {
|
|
$change = true;
|
|
break;
|
|
}
|
|
}
|
|
|
|
return $change;
|
|
}
|
|
|
|
// provest samotny upgrade
|
|
public function makeChanges_3()
|
|
{
|
|
$SQL = sqlQuery('ALTER TABLE '.getTableName('producers').' ENGINE = InnoDB');
|
|
|
|
$SQL = sqlQuery('ALTER TABLE '.getTableName('products').' CHANGE `producer` `producer` INT(11) UNSIGNED DEFAULT NULL');
|
|
|
|
$SQL = sqlQuery('UPDATE '.getTableName('products').' p
|
|
LEFT JOIN '.getTableName('producers').' pp ON p.producer = pp.id
|
|
SET p.producer = NULL
|
|
WHERE p.producer IS NOT NULL AND pp.id IS NULL');
|
|
|
|
$SQL = sqlQuery('ALTER TABLE '.getTableName('products').'
|
|
ADD FOREIGN KEY ( `producer` ) REFERENCES `producers` ( `id` ) ON DELETE SET NULL ON UPDATE CASCADE');
|
|
|
|
$this->upgradeOK();
|
|
}
|
|
|
|
// overi, jestli je opravnene provest upgrade
|
|
public function checkRightfulness_4()
|
|
{
|
|
$change = false;
|
|
|
|
$SQL = sqlQuery('SHOW FIELDS FROM '.getTableName('products_variations_choices_values'));
|
|
while ($row = sqlFetchArray($SQL)) {
|
|
if ($row['Field'] == 'code' && $row['Null'] == 'NO') {
|
|
$change = true;
|
|
break;
|
|
}
|
|
}
|
|
|
|
return $change;
|
|
}
|
|
|
|
// provest samotny upgrade
|
|
public function makeChanges_4()
|
|
{
|
|
$SQL = sqlQuery('ALTER TABLE '.getTableName('products_variations_choices_values').' CHANGE `code` `code` VARCHAR( 32 ) NULL');
|
|
|
|
$this->upgradeOK();
|
|
}
|
|
}
|