From f28374440cd601013480490092641d95753740fe Mon Sep 17 00:00:00 2001 From: PauloNehme Date: Mon, 15 Jan 2024 09:20:54 -0300 Subject: [PATCH] =?UTF-8?q?Corre=C3=A7=C3=B5es=20necess=C3=A1rias=20para?= =?UTF-8?q?=20a=20integra=C3=A7=C3=A3o=20com=20o=20Postgresql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bd/PenMetaBD.php | 31 ++++++++---- .../sei_atualizar_versao_modulo_pen.php | 48 ++++++------------- 2 files changed, 38 insertions(+), 41 deletions(-) diff --git a/src/bd/PenMetaBD.php b/src/bd/PenMetaBD.php index 1f65999ba..5e84078f6 100755 --- a/src/bd/PenMetaBD.php +++ b/src/bd/PenMetaBD.php @@ -35,7 +35,11 @@ public function adicionarValorPadraoParaColuna($strNomeTabela, $strNomeColuna, $ case 'InfraOracle': $strQuery = sprintf("ALTER TABLE %s MODIFY %s DEFAULT '%s'", $strNomeTabela, $strNomeColuna, $strValorPadrao); break; - } + + case 'InfraPostgreSql': + $strQuery = sprintf("ALTER TABLE %s ALTER COLUMN %s SET DEFAULT '%s'", $strNomeTabela, $strNomeColuna, $strValorPadrao); + break; + } if($bolRetornarQuery === false) { $objInfraBanco->executarSql($strQuery); @@ -75,18 +79,19 @@ public function isDriverSuportado(){ $strTableDrive = get_parent_class($this->getObjInfraIBanco()); switch($strTableDrive) { - - case 'InfraMySqli': // Fix para bug de MySQL versão inferior ao 5.5 o default engine - // é MyISAM e não tem suporte a FOREING KEYS + + case 'InfraMySqli': + // Fix para bug de MySQL versão inferior ao 5.5 o default engine + // é MyISAM e não tem suporte a FOREING KEYS $version = $this->getObjInfraIBanco()->consultarSql('SELECT VERSION() as versao'); $version = $version[0]['versao']; $arrVersion = explode('.', $version); if($arrVersion[0].$arrVersion[1] < 56){ $this->getObjInfraIBanco()->executarSql('@SET STORAGE_ENGINE=InnoDB'); } - break; case 'InfraSqlServer': case 'InfraOracle': + case 'InfraPostgreSql': break; default: @@ -141,6 +146,11 @@ public function renomearTabela($strNomeTabelaAtual, $strNomeTabelaNovo){ case 'InfraOracle': $strQuery = sprintf("RENAME TABLE %s TO %s", $strNomeTabelaAtual, $strNomeTabelaNovo); break; + + case 'InfraPostgreSql': + $strQuery = sprintf("ALTER TABLE `%s` RENAME TO `%s`", $strNomeTabelaAtual, $strNomeTabelaNovo); + break; + } $objInfraBanco->executarSql($strQuery); @@ -158,17 +168,22 @@ public function renomearColuna($strNomeTabela, $strNomeColunaAtual, $strNomeColu switch ($strTableDrive) { case 'InfraMySqli': - $strQuery = sprintf("ALTER TABLE `%s` CHANGE `%s` `%s` %s", $strNomeTabela, $strNomeColunaAtual, $strNomeColunaNova, $strTipo); + $strQuery = sprintf("ALTER TABLE `%s` CHANGE `%s` `%s` %s", $strNomeTabela, $strNomeColunaAtual, $strNomeColunaNova, $strTipo); break; case 'InfraSqlServer': - $strQuery = sprintf("SP_RENAME '%s.%s', '%s', 'COLUMN'", $strNomeTabela, $strNomeColunaAtual, $strNomeColunaNova); + $strQuery = sprintf("SP_RENAME '%s.%s', '%s', 'COLUMN'", $strNomeTabela, $strNomeColunaAtual, $strNomeColunaNova); break; case 'InfraOracle': $strQuery = sprintf("ALTER TABLE %s RENAME COLUMN %s TO %s", $strNomeTabela, $strNomeColunaAtual, $strNomeColunaNova); break; - } + + case 'InfraPostgreSql': + $strQuery = sprintf("ALTER TABLE %s RENAME COLUMN %s TO %s", $strNomeTabela, $strNomeColunaAtual, $strNomeColunaNova); + break; + + } $objInfraBanco->executarSql($strQuery); } diff --git a/src/scripts/sei_atualizar_versao_modulo_pen.php b/src/scripts/sei_atualizar_versao_modulo_pen.php index e5a42c4cc..1ec65f67b 100755 --- a/src/scripts/sei_atualizar_versao_modulo_pen.php +++ b/src/scripts/sei_atualizar_versao_modulo_pen.php @@ -34,12 +34,11 @@ protected function verificarVersaoInstaladaControlado() return $objInfraParametroDTO->getStrNome(); } - // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps public function versao_0_0_0($strVersaoAtual) { } - public function atualizarVersaoCompatibilidade($strVersaoAtual) + function atualizarVersaoCompatibilidade($strVersaoAtual) { $objAtualizarRN = new PenAtualizarSeiRN(); $objAtualizarRN->atualizarVersao(); @@ -64,7 +63,6 @@ protected function inicializarObjInfraIBanco() return BancoSEI::getInstance(); } - // phpcs:ignore Generic.Metrics.CyclomaticComplexity.MaxExceeded protected function atualizarVersaoConectado() { try { @@ -79,7 +77,8 @@ protected function atualizarVersaoConectado() if ( !(BancoSEI::getInstance() instanceof InfraMySql) && !(BancoSEI::getInstance() instanceof InfraSqlServer) && - !(BancoSEI::getInstance() instanceof InfraOracle) + !(BancoSEI::getInstance() instanceof InfraOracle) && + !(BancoSEI::getInstance() instanceof InfraPostgreSql) ) { $this->finalizar('BANCO DE DADOS NAO SUPORTADO: ' . get_parent_class(BancoSEI::getInstance()), true); @@ -100,9 +99,8 @@ protected function atualizarVersaoConectado() // Aplicação de scripts de atualização de forma incremental $strVersaoModuloPen = $objInfraParametro->getValor(PENIntegracao::PARAMETRO_VERSAO_MODULO, false) ?: $objInfraParametro->getValor(PENIntegracao::PARAMETRO_VERSAO_MODULO_ANTIGO, false); - // phpcs:disable PSR2.ControlStructures.SwitchDeclaration.TerminatingComment switch ($strVersaoModuloPen) { - case '': // Não há nenhuma versão instalada + case '': case '0.0.0': $this->instalarV100(); // Nenhuma versão instalada case '1.0.0': @@ -170,10 +168,10 @@ protected function atualizarVersaoConectado() $this->instalarV1502(); case '1.5.2': $this->instalarV1503(); - case '1.5.3': // Faixa de possíveis versões da release 1.5.x de retrocompatibilidade - case '1.5.4': // Faixa de possíveis versões da release 1.5.x de retrocompatibilidade - case '1.5.5': // Faixa de possíveis versões da release 1.5.x de retrocompatibilidade - case '1.5.6': // Faixa de possíveis versões da release 1.5.x de retrocompatibilidade + case '1.5.3'; // Faixa de possíveis versões da release 1.5.x de retrocompatibilidade + case '1.5.4'; // Faixa de possíveis versões da release 1.5.x de retrocompatibilidade + case '1.5.5'; // Faixa de possíveis versões da release 1.5.x de retrocompatibilidade + case '1.5.6'; // Faixa de possíveis versões da release 1.5.x de retrocompatibilidade case '1.5.7': $this->instalarV2000_beta1(); case '2.0.0-beta1': @@ -270,8 +268,6 @@ protected function atualizarVersaoConectado() $this->instalarV3031(); case '3.3.1': $this->instalarV3032(); - case '3.3.2': - $this->instalarV3040(); break; // Ausência de [break;] proposital para realizar a atualização incremental de versões @@ -279,7 +275,6 @@ protected function atualizarVersaoConectado() $this->finalizar('VERSAO DO MÓDULO JÁ CONSTA COMO ATUALIZADA'); return; } - // phpcs:enable PSR2.ControlStructures.SwitchDeclaration.TerminatingComment $this->finalizar('FIM'); } catch (Exception $e) { @@ -434,7 +429,6 @@ private function listarComponenteDigitaisDesatualizados() } /* Contêm atualizações da versao 1.0.0 do modulo */ - // phpcs:ignore Generic.Metrics.CyclomaticComplexity.MaxExceeded protected function instalarV100() { @@ -1276,10 +1270,10 @@ protected function instalarV100() $objInfraSequencia->criarSequencia('md_pen_recibo_tramite_hash', '1', '1', '9999999999'); } - if (InfraUtil::compararVersoes(SEI_VERSAO, '<=', '4.0.0')) { - $objInfraParametro = new InfraParametro(BancoSEI::getInstance()); - $objInfraParametro->setValor('PEN_VERSAO_MODULO_SEI', '0.0.0'); - } + if (InfraUtil::compararVersoes(SEI_VERSAO, '<=', '4.0.0')) { + $objInfraParametro = new InfraParametro(BancoSEI::getInstance()); + $objInfraParametro->setValor('PEN_VERSAO_MODULO_SEI', '0.0.0'); + } $this->atualizarNumeroVersao("1.0.0"); @@ -2015,7 +2009,6 @@ protected function instalarV1503() $this->atualizarNumeroVersao("1.5.3"); } - // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps protected function instalarV2000_beta1() { $objMetaBD = $this->objMeta; @@ -2200,25 +2193,21 @@ protected function instalarV2000_beta1() $this->atualizarNumeroVersao("2.0.0-beta1"); } - // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps protected function instalarV2000_beta2() { $this->atualizarNumeroVersao("2.0.0-beta2"); } - // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps protected function instalarV2000_beta3() { $this->atualizarNumeroVersao("2.0.0-beta3"); } - // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps protected function instalarV2000_beta4() { $this->atualizarNumeroVersao("2.0.0-beta4"); } - // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps protected function instalarV2000_beta5() { $this->atualizarNumeroVersao("2.0.0-beta5"); @@ -2541,16 +2530,9 @@ protected function instalarV3031() { $this->atualizarNumeroVersao("3.3.1"); } - protected function instalarV3032() { - $this->atualizarNumeroVersao("3.3.2"); - } - - protected function instalarV3040() { - $objInfraMetaBD = new InfraMetaBD(BancoSEI::getInstance()); - $objInfraMetaBD->adicionarColuna('md_pen_unidade', 'sigla_unidade_rh', $objInfraMetaBD->tipoTextoVariavel(20), 'null'); - $objInfraMetaBD->adicionarColuna('md_pen_unidade', 'nome_unidade_rh', $objInfraMetaBD->tipoTextoVariavel(250), 'null'); - $this->atualizarNumeroVersao("3.4.0"); - } +protected function instalarV3032() { + $this->atualizarNumeroVersao("3.3.2"); +} }