From 6ca9666bb1c62b65942696fa3fbc23d132037055 Mon Sep 17 00:00:00 2001 From: Patrick Barroca <pbarroca@afi-sa.fr> Date: Fri, 24 Mar 2023 15:58:01 +0000 Subject: [PATCH] select db no longer depends on valid current db --- library/Class/Migration/UpdateConfig.php | 17 ++++---- .../Migration/UpdateDatabaseAfterSelectDb.php | 42 ++++++++++--------- scripts/select_db.php | 7 ++-- scripts/upgrade_db.php | 1 - 4 files changed, 34 insertions(+), 33 deletions(-) diff --git a/library/Class/Migration/UpdateConfig.php b/library/Class/Migration/UpdateConfig.php index 1ea30637d82..477bd5d7a9d 100644 --- a/library/Class/Migration/UpdateConfig.php +++ b/library/Class/Migration/UpdateConfig.php @@ -24,19 +24,18 @@ class Class_Migration_UpdateConfig { use Trait_StaticFileSystem, - Trait_Translator, Trait_EchoError; public function run($database_name) { Bokeh_Engine::getInstance()->warmUpFiles(); - $this->echoStartTitle($this->_('Début de l\'étape de mise à jour des fichiers de configuration')); + $this->echoStartTitle('Début de l\'étape de mise à jour des fichiers de configuration'); $this ->_setInBokehConfig('sgbd.config.dbname', $database_name) ->_setInCosmoConfig('integration_base', $database_name); - $this->echoEndTitle($this->_('Fin de l\'étape de mise à jour des fichiers de configuration')); + $this->echoEndTitle('Fin de l\'étape de mise à jour des fichiers de configuration'); return $this; } @@ -59,16 +58,16 @@ class Class_Migration_UpdateConfig { protected function _writeNewDataInFile($file_path, $key, $value, $preg_search, $preg_replace) { - $this->echoError($this->_('Mise à jour de %s dans le fichier de configartion %s', - $key, - $file_path) . "\n"); + $this->echoError(sprintf('Mise à jour de %s dans le fichier de configuration %s', + $key, + $file_path) . "\n"); $content = $this->getFileSystem()->file_get_contents($file_path); if (false === $content) { - $this->echoError($this->_('Mise à jour de %s dans le fichier de configartion %s impossible', - $key, - $file_path) + $this->echoError(sprintf('Mise à jour de %s dans le fichier de configuration %s impossible', + $key, + $file_path) . "\n" . $this->_('Le fichier n\'existe pas') . "\n"); diff --git a/library/Class/Migration/UpdateDatabaseAfterSelectDb.php b/library/Class/Migration/UpdateDatabaseAfterSelectDb.php index a38e6858b86..8c91da1def8 100644 --- a/library/Class/Migration/UpdateDatabaseAfterSelectDb.php +++ b/library/Class/Migration/UpdateDatabaseAfterSelectDb.php @@ -22,10 +22,9 @@ class Class_Migration_UpdateDatabaseAfterSelectDb { - use - Trait_EchoError, - Trait_Translator; + use Trait_EchoError; + protected $_adapter; public function run() { //reload config files @@ -33,11 +32,12 @@ class Class_Migration_UpdateDatabaseAfterSelectDb { ->warmUpFiles() ->warmUpDB(); - $this->echoStartTitle($this->_('Début de l\'étape de mise à jour des variables dans la base de donnée : %s', - array_at('dbname', - Zend_Db_Table::getDefaultAdapter()->getConfig()))); + $this->_adapter = Zend_Db_Table::getDefaultAdapter(); - $this->echoError($this->_('Mise à jour des variables de Cosmogramme') . "\n"); + $this->echoStartTitle(sprintf('Début de l\'étape de mise à jour des variables dans la base de donnée : %s', + array_at('dbname', $this->_adapter->getConfig()))); + + $this->echoError('Mise à jour des variables de Cosmogramme' . "\n"); Class_CosmoVar::setValueOf('cache_path', './cosmogramme/fichiers/cache/'); Class_CosmoVar::setValueOf('log_path', './cosmogramme/fichiers/log/'); @@ -49,20 +49,19 @@ class Class_Migration_UpdateDatabaseAfterSelectDb { $this->echoOK(); - $this->echoError($this->_('Mise à jour des variables d\'administration') . "\n"); + $this->echoError('Mise à jour des variables d\'administration' . "\n"); - Class_AdminVar::set('ENABLE_COLLABORATIVE_BROWSING', '0'); - Class_AdminVar::set('STATUS_REPORT_PUSH_URL', 'no'); - Class_AdminVar::set('FORCE_HTTPS', '0'); + $this->adminVar('ENABLE_COLLABORATIVE_BROWSING', '0') + ->adminVar('STATUS_REPORT_PUSH_URL', 'no') + ->adminVar('FORCE_HTTPS', '0'); $this->echoOK(); try { - $this->echoError($this->_('Mise à jour du mysql.proc.') . "\n"); - Zend_Db_Table::getDefaultAdapter() - ->query("update mysql.proc set definer='root@localhost'"); + $this->echoError('Mise à jour du mysql.proc.' . "\n"); + $this->_adapter->query("update mysql.proc set definer='root@localhost'"); } catch (Exception $e) { - $this->echoError($this->_('Échec de la mise à jour du mysql.proc') . "\n" + $this->echoError('Échec de la mise à jour du mysql.proc' . "\n" . $e->getMessage() . "/n"); } @@ -70,17 +69,22 @@ class Class_Migration_UpdateDatabaseAfterSelectDb { $this->echoOK(); try { - $this->echoError($this->_('Suppression du trigger datemaj_notices_update') . "\n"); - Zend_Db_Table::getDefaultAdapter() - ->query("drop trigger datemaj_notices_update;"); + $this->echoError('Suppression du trigger datemaj_notices_update' . "\n"); + $this->_adapter->query("drop trigger datemaj_notices_update;"); } catch (Exception $e) { $this->echoError($e->getMessage() . "\n"); } $this->echoOK(); - $this->echoEndTitle($this->_('Fin de l\'étape de mise à jour des variables')); + $this->echoEndTitle('Fin de l\'étape de mise à jour des variables'); + + return $this; + } + + protected function adminVar(string $key, string $value) : self { + $this->_adapter->query('replace into bib_admin_var (clef, valeur) values ("' . $key . '", "' . $value . '")'); return $this; } } diff --git a/scripts/select_db.php b/scripts/select_db.php index c576cfc081a..612e4b1982d 100644 --- a/scripts/select_db.php +++ b/scripts/select_db.php @@ -4,11 +4,10 @@ if ( ! isset($argv[1])) $database_name = $argv[1]; -require('includes.php'); - -Bokeh_Engine::getInstance()->warmUp(); +require 'includes.php'; +Bokeh_Engine::getInstance()->warmUpFiles(); (new Class_Migration_UpdateConfig)->run($database_name); (new Class_Migration_UpdateDatabaseAfterSelectDb)->run(); -include('./scripts/upgrade_db.php'); +include './scripts/upgrade_db.php'; diff --git a/scripts/upgrade_db.php b/scripts/upgrade_db.php index e6822cde512..d62fac21bac 100644 --- a/scripts/upgrade_db.php +++ b/scripts/upgrade_db.php @@ -15,4 +15,3 @@ $force = $argc>1 && $argv[1]=='--force'; (new Class_Migration_ScriptPatchs())->run($force); (new Class_Template_Update)->run(); -?> \ No newline at end of file -- GitLab