From b5aeb0247e39aa877ebee0e5bb68d580838f0c45 Mon Sep 17 00:00:00 2001 From: liugang Date: Thu, 29 Feb 2024 16:36:53 +0800 Subject: [PATCH] + upgrade: add method to check database consistency. --- module/upgrade/config/upgradeflow.php | 2 +- module/upgrade/model.php | 40 +++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/module/upgrade/config/upgradeflow.php b/module/upgrade/config/upgradeflow.php index bffe450455..1b136f52a3 100644 --- a/module/upgrade/config/upgradeflow.php +++ b/module/upgrade/config/upgradeflow.php @@ -93,7 +93,7 @@ $config->upgrade->execFlow['18_7'] = array('functions' => 'processHistory $config->upgrade->execFlow['18_8'] = array('functions' => 'upgradeTesttaskMembers,deleteGeneralReportBlock,stopOldCron'); $config->upgrade->execFlow['18_9'] = array('functions' => 'addDefaultTraincoursePriv,renameBIModule,migrateXuanClientSettings'); $config->upgrade->execFlow['18_10_1'] = array('functions' => 'migrateAIModelConfig'); -$config->upgrade->execFlow['20.0.alpha1'] = array('functions' => 'revertStoryCustomFields,hideOA,updateMetricDateType,migrateAIModelConfig'); +$config->upgrade->execFlow['20_0_alpha1'] = array('functions' => 'revertStoryCustomFields,hideOA,updateMetricDateType,migrateAIModelConfig,update1810,update18101'); if(!empty($config->isINT)) { diff --git a/module/upgrade/model.php b/module/upgrade/model.php index 2a37cfc810..76748667c8 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -8571,4 +8571,44 @@ class upgradeModel extends model $this->setting->setItem('system.common.closedFeatures', trim($closedFeatures . ',otherOA', ',')); } + + /** + * 检查是否添加了18.10版本的需求池字段,如果没有就添加。 + * Check if the demand pool field of version 18.10 is added, if not, add it. + * + * @access public + * @return void + */ + public function update1810(): void + { + $fields = $this->dbo->query('DESC ' . TABLE_DEMANDPOOL)->fetchAll(); + foreach($fields as $field) + { + if($field->Field == 'products') return; + } + + /* Execute open edition. */ + $this->saveLogs('Execute 18_10'); + $this->execSQL($this->getUpgradeFile('18.10')); + } + + /** + * 检查是否添加了18.10.1版本的需求反馈字段,如果没有就添加。 + * Check if the demand feedback field of version 18.10.1 is added, if not, add it. + * + * @access public + * @return void + */ + public function update18101(): void + { + $fields = $this->dbo->query('DESC ' . TABLE_DEMAND)->fetchAll(); + foreach($fields as $field) + { + if($field->Field == 'feedback') return; + } + + /* Execute open edition. */ + $this->saveLogs('Execute 18_10_1'); + $this->execSQL($this->getUpgradeFile('18.10.1')); + } }