* Fix mysql update bug.

This commit is contained in:
songchenxuan
2023-08-22 09:21:04 +08:00
parent 07b3df8456
commit 306226f3d2
2 changed files with 8 additions and 8 deletions
+1 -1
View File
@@ -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`);
+7 -7
View File
@@ -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);
}
/**