* Modify update18-5 sql.

This commit is contained in:
songchenxuan
2023-08-21 15:02:00 +08:00
parent 087e4a5ed1
commit 7fdfd77809
2 changed files with 43 additions and 6 deletions
+15 -4
View File
@@ -61,10 +61,17 @@ CREATE INDEX `project` ON `zt_actionrecent`(`project`);
CREATE INDEX `action` ON `zt_actionrecent`(`action`);
CREATE INDEX `objectID` ON `zt_actionrecent`(`objectID`);
ALTER TABLE `zt_notify` MODIFY `toList` text NOT NULL;
ALTER TABLE `zt_notify` MODIFY `subject` text NOT NULL;
DROP INDEX `objectType_toList_status` ON `zt_notify`;
ALTER TABLE `zt_notify` ADD `toListCopy` text NOT 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` ADD `subjectCopy` text NOT NULL;
UPDATE `zt_notify` SET `subjectCopy` = `subject`;
ALTER TABLE `zt_notify` DROP `subject`;
ALTER TABLE `zt_notify` CHANGE COLUMN `subjectCopy` `subject`;
DROP INDEX `objectType_toList_status` ON `zt_notify`;
CREATE INDEX `objectType` ON `zt_notify` (`objectType`);
CREATE INDEX `status` ON `zt_notify` (`status`);
@@ -81,4 +88,8 @@ CREATE INDEX `module` ON `zt_config`(`module`);
CREATE INDEX `key` ON `zt_config`(`key`);
UPDATE `zt_programoutput` SET `activity` = (SELECT `activity` FROM `zt_zoutput` WHERE `zt_programoutput`.`output` = `zt_zoutput`.`id`);
ALTER TABLE `zt_reviewissue` MODIFY `opinion` mediumtext NOT NULL DEFAULT '';
ALTER TABLE `zt_reviewissue` ADD `opinionCopy` mediumtext NOT NULL DEFAULT '';
UPDATE `zt_reviewissue` SET `opinionCopy` = `opinion`;
ALTER TABLE `zt_reviewissue` DROP `opinion`;
ALTER TABLE `zt_reviewissue` CHANGE COLUMN `opinionCopy` `opinion`;
+28 -2
View File
@@ -256,9 +256,9 @@ class dbh
public function formatDmSQL($sql)
{
$sql = trim($sql);
/* '\\\\n' try to compatible screen json like \u0232\\nBug. */
$sql = str_replace(array('\\\\n', '\r', '\n'), ' ', $sql);
$sql = $this->formatFunction($sql);
$sql = $this->processDmChangeColumn($sql);
$sql = $this->processDmTableIndex($sql);
$actionPos = strpos($sql, ' ');
$action = strtoupper(substr($sql, 0, $actionPos));
@@ -372,6 +372,32 @@ class dbh
}
}
/**
* Format dm table index.
*
* @param string $sql
* @access public
* @return string
*/
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);
}
/**
* Format dm change column.
*
* @param string $sql
* @access public
* @return string
*/
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);
}
/**
* Format function.
*