From df9f53cb9e978bd111470735aaa9f5cfafde6e99 Mon Sep 17 00:00:00 2001 From: daitingting Date: Mon, 30 Sep 2024 02:32:51 +0000 Subject: [PATCH] * [misc] Update table of sql builder. --- module/upgrade/config/upgradeflow.php | 2 +- module/upgrade/model.php | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/module/upgrade/config/upgradeflow.php b/module/upgrade/config/upgradeflow.php index 23b88b7b33..bc83527b1b 100644 --- a/module/upgrade/config/upgradeflow.php +++ b/module/upgrade/config/upgradeflow.php @@ -102,7 +102,7 @@ $config->upgrade->execFlow['20_1_1'] = array('functions' => 'syncActivityAn $config->upgrade->execFlow['20_3_0'] = array('functions' => 'importBuildinWorkflow,addFlowFields,processProjectRoadmapsByCharter', 'params' => array('importBuildinWorkflow' => array('or'), 'addFlowFields' => array('biz10.2'))); $config->upgrade->execFlow['20_4'] = array('functions' => 'createDefaultDoclibSpace,updateStoryVerifiedDate,xuanNotifyJitsiConference', 'xxsqls' => "$appRoot/db/upgradexuanxuan7.3.sql,$appRoot/db/upgradexuanxuan9.0.sql"); $config->upgrade->execFlow['20_5'] = array('functions' => 'fixWorkflowFieldOptions'); -$config->upgrade->execFlow['20_6'] = array('functions' => 'processDemandFiles'); +$config->upgrade->execFlow['20_6'] = array('functions' => 'processDemandFiles,processSqlbuilderTables'); if(!empty($config->isINT)) { diff --git a/module/upgrade/model.php b/module/upgrade/model.php index dc1a6e6d79..8d7878d2a9 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -9968,4 +9968,24 @@ class upgradeModel extends model return true; } + + public function processSqlbuilderTables() + { + $prefix = $this->config->db->prefix; + $sqlbuilderSettings = $this->dao->select('id,setting')->from(TABLE_SQLBUILDER)->fetchPairs(); + foreach($sqlbuilderSettings as $id => $setting) + { + $setting = json_decode($setting, true); + + if($setting['from']['table'] && strpos($setting['from']['table'], 'zt_') === false) $setting['from']['table'] = $prefix . $setting['from']['table']; + + foreach($setting['joins'] as $index => $join) + { + if($setting['joins'][$index]['table'] && strpos($setting['joins'][$index]['table'], 'zt_') === false) $setting['joins'][$index]['table'] = $prefix . $join['table']; + } + + $this->dao->update(TABLE_SQLBUILDER)->set('setting')->eq(json_encode($setting))->where('id')->eq($id)->exec(); + } + return !dao::isError(); + } }