* Fix mysql update bug.
This commit is contained in:
+1
-1
@@ -71,7 +71,7 @@ UPDATE `zt_notify` SET `subjectCopy` = `subject`;
|
||||
ALTER TABLE `zt_notify` DROP `subject`;
|
||||
ALTER TABLE `zt_notify` CHANGE COLUMN `subjectCopy` `subject` text;
|
||||
|
||||
DROP INDEX IF EXISTS `objectType_toList_status` ON `zt_notify`;
|
||||
DROP INDEX `objectType_toList_status` ON `zt_notify`;
|
||||
CREATE INDEX `objectType` ON `zt_notify` (`objectType`);
|
||||
CREATE INDEX `status` ON `zt_notify` (`status`);
|
||||
|
||||
|
||||
@@ -258,11 +258,11 @@ class dbh
|
||||
$sql = trim($sql);
|
||||
$sql = $this->formatFunction($sql);
|
||||
|
||||
if(defined('IN_UPGRADE'))
|
||||
{
|
||||
if(defined('IN_UPGRADE'))
|
||||
{
|
||||
$sql = $this->processDmChangeColumn($sql);
|
||||
$sql = $this->processDmTableIndex($sql);
|
||||
}
|
||||
}
|
||||
|
||||
$actionPos = strpos($sql, ' ');
|
||||
$action = strtoupper(substr($sql, 0, $actionPos));
|
||||
@@ -385,8 +385,8 @@ class dbh
|
||||
*/
|
||||
public function processDmTableIndex($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);
|
||||
if(strpos($sql, 'DROP INDEX IF EXISTS') === FALSE) return $sql;
|
||||
return preg_replace('/DROP INDEX `(\w+)` ON `zt_(\w+)`/', 'DROP INDEX IF EXISTS `$2_$1`', $sql);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -398,8 +398,8 @@ class dbh
|
||||
*/
|
||||
public function processDmChangeColumn($sql)
|
||||
{
|
||||
if(strpos($sql, 'CHANGE COLUMN') === FALSE) return $sql;
|
||||
return preg_replace('/ALTER TABLE `([^`]+)` CHANGE COLUMN `([^`]+)` `([^`]+)` (\w+)/', 'ALTER TABLE `$1` RENAME COLUMN `$2` TO `$3`;', $sql);
|
||||
if(strpos($sql, 'CHANGE COLUMN') === FALSE) return $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