* Fix upgrade bug.
This commit is contained in:
+4
-4
@@ -64,14 +64,14 @@ CREATE INDEX `objectID` ON `zt_actionrecent`(`objectID`);
|
||||
ALTER TABLE `zt_notify` ADD `toListCopy` text NULL;
|
||||
UPDATE `zt_notify` SET `toListCopy` = `toList`;
|
||||
ALTER TABLE `zt_notify` DROP `toList`;
|
||||
ALTER TABLE `zt_notify` CHANGE COLUMN `toListCopy` `toList`;
|
||||
ALTER TABLE `zt_notify` CHANGE COLUMN `toListCopy` `toList` text;
|
||||
|
||||
ALTER TABLE `zt_notify` ADD `subjectCopy` text NULL;
|
||||
UPDATE `zt_notify` SET `subjectCopy` = `subject`;
|
||||
ALTER TABLE `zt_notify` DROP `subject`;
|
||||
ALTER TABLE `zt_notify` CHANGE COLUMN `subjectCopy` `subject`;
|
||||
ALTER TABLE `zt_notify` CHANGE COLUMN `subjectCopy` `subject` text;
|
||||
|
||||
DROP INDEX `objectType_toList_status` ON `zt_notify`;
|
||||
DROP INDEX IF EXISTS `objectType_toList_status` ON `zt_notify`;
|
||||
CREATE INDEX `objectType` ON `zt_notify` (`objectType`);
|
||||
CREATE INDEX `status` ON `zt_notify` (`status`);
|
||||
|
||||
@@ -92,4 +92,4 @@ UPDATE `zt_programoutput` SET `activity` = (SELECT `activity` FROM `zt_zoutput`
|
||||
ALTER TABLE `zt_reviewissue` ADD `opinionCopy` mediumtext NULL;
|
||||
UPDATE `zt_reviewissue` SET `opinionCopy` = `opinion`;
|
||||
ALTER TABLE `zt_reviewissue` DROP `opinion`;
|
||||
ALTER TABLE `zt_reviewissue` CHANGE COLUMN `opinionCopy` `opinion`;
|
||||
ALTER TABLE `zt_reviewissue` CHANGE COLUMN `opinionCopy` `opinion` text;
|
||||
|
||||
@@ -257,8 +257,12 @@ class dbh
|
||||
{
|
||||
$sql = trim($sql);
|
||||
$sql = $this->formatFunction($sql);
|
||||
$sql = $this->processDmChangeColumn($sql);
|
||||
$sql = $this->processDmTableIndex($sql);
|
||||
|
||||
if(defined('IN_UPGRADE'))
|
||||
{
|
||||
$sql = $this->processDmChangeColumn($sql);
|
||||
$sql = $this->processDmTableIndex($sql);
|
||||
}
|
||||
|
||||
$actionPos = strpos($sql, ' ');
|
||||
$action = strtoupper(substr($sql, 0, $actionPos));
|
||||
@@ -381,8 +385,8 @@ class dbh
|
||||
*/
|
||||
public function processDmTableIndex($sql)
|
||||
{
|
||||
if(strpos($sql, 'DROP INDEX') === FALSE) return $sql;
|
||||
return preg_replace('/DROP INDEX `(\w+)` ON `zt_(\w+)`/', 'DROP INDEX `$2_$1`', $sql);
|
||||
if(strpos($sql, 'DROP INDEX IF EXISTS') === FALSE) return $sql;
|
||||
return preg_replace('/DROP INDEX IF EXISTS `(\w+)` ON `zt_(\w+)`/', 'DROP INDEX IF EXISTS `$2_$1`', $sql);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -395,7 +399,7 @@ class dbh
|
||||
public function processDmChangeColumn($sql)
|
||||
{
|
||||
if(strpos($sql, 'CHANGE COLUMN') === FALSE) return $sql;
|
||||
return preg_replace('/ALTER TABLE `([^`]+)` CHANGE COLUMN `([^`]+)` `([^`]+)`/', 'ALTER TABLE `$1` RENAME COLUMN `$2` TO `$3`;', $sql);
|
||||
return preg_replace('/ALTER TABLE `([^`]+)` CHANGE COLUMN `([^`]+)` `([^`]+)` (\w+)/', 'ALTER TABLE `$1` RENAME COLUMN `$2` TO `$3`;', $sql);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user