From 1beb9196e33ef3ef3e7d22b2c9971651c009d805 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B9=BF=E6=98=8E?= Date: Mon, 14 Mar 2022 11:30:04 +0800 Subject: [PATCH] * Fix upgrade bug. --- module/setting/model.php | 4 ++-- module/upgrade/model.php | 13 +++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/module/setting/model.php b/module/setting/model.php index a2c8732350..b9e0d29cf4 100644 --- a/module/setting/model.php +++ b/module/setting/model.php @@ -78,8 +78,8 @@ class settingModel extends model $item->key = $key; $item->value = $value; - /* The setting of system.common has no vision. */ - if($owner != 'system' or $module != 'common') $item->vision = $vision; + /* If in upgrade, skip vision. */ + if(!defined('IN_UPGRADE')) $item->vision = $vision; $this->dao->replace(TABLE_CONFIG)->data($item)->exec(); } diff --git a/module/upgrade/model.php b/module/upgrade/model.php index bd95630d52..43cf0660c3 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -1144,14 +1144,15 @@ class upgradeModel extends model { if(empty($version)) $version = $this->config->installedVersion; - $editions = array('p' => 'proVersion', 'b' => 'bizVersion', 'm' => 'maxVersion'); - $version = str_replace('.', '_', $version); - $fromEdition = is_numeric($version[0]) ? 'open' : $editions[$version[0]]; - $openVersion = is_numeric($version[0]) ? $version : $this->config->upgrade->{$fromEdition}[$version]; - $openVersion = str_replace('_', '.', $openVersion); + $editions = array('p' => 'proVersion', 'b' => 'bizVersion', 'm' => 'maxVersion'); + $version = str_replace('.', '_', $version); + $fromEdition = is_numeric($version[0]) ? 'open' : $editions[$version[0]]; + $openVersion = is_numeric($version[0]) ? $version : $this->config->upgrade->{$fromEdition}[$version]; + $openVersion = str_replace('_', '.', $openVersion); + $checkVersion = version_compare($openVersion, '16.5', '<') ? str_replace('_', '.', $version) : $openVersion; $alterSQL = ''; - $standardSQL = $this->app->getAppRoot() . 'db' . DS . 'standard' . DS . 'zentao' . $openVersion . '.sql'; + $standardSQL = $this->app->getAppRoot() . 'db' . DS . 'standard' . DS . 'zentao' . $checkVersion . '.sql'; if(!file_exists($standardSQL)) return $alterSQL; $lines = file($standardSQL);