这是一种仅在特定版本到位时才执行升级命令的方法。
这很丑陋,但这是我对 mysql 5 的所有建议。
DELIMITER $$
DROP FUNCTION IF EXISTS `Upgrade_Build`$$
CREATE FUNCTION `Upgrade_Build`(bversion INT) RETURNS varchar(30)
BEGIN
IF bversion = (SELECT MIN(`db_version`) FROM `system`) THEN
UPDATE `pages`
SET `component_parameters` =
REPLACE(`component_parameters`,'folderviewer_','folder_viewer.');
UPDATE `system`
SET `db_version` = bversion+1;
return CONCAT('Success: ',bversion,' > ',bversion+1);
ELSE
return CONCAT('Failed - Version is ',(SELECT MIN(`db_version`) FROM `system`));
END IF;
END$$
DELIMITER ;
要使用它,请执行以下操作:
SELECT Upgrade_Build(1327);
如果当前版本是 1327,您会看到类似这样的内容:
成功:1327 > 1328
再次运行它,您将看到:
失败 - 版本是 1328
希望这对某人有用。