new UpdateScript()
Objeto utilizado pelos scripts que devem ser executados após uma atualização de produto.
Ele cria as conexões de origem (source) e destino (target) da atualização e é responsável pela gravação dos registros na tabela iSysEvent. Este script só pode ser utilizado no contexto da atualização, pois há dependência de variáveis globais do processo de atualização, não podendo ser executado via iDBC de forma isolada.
Importante: Não é possível utilizar métodos que façam uso do cache local através de instâncias de Connection. Isto elimina o uso, por exemplo, dos métodos getChildren, cloneLocalCache e cloneLocalCacheByClass.
Examples
const UpdateScript = require('@nginstack/devops/lib/update/UpdateScript'); const updateScript = new UpdateScript(); try { let updateVersion = null; let result = ''; // Desenvolva aqui a lógica do seu script // utilizando as conexões de origem (source) e destino (target) // Lembre-se de alimentar os valores das variáveis updateVersion e result // que serão passadas ao método finish updateScript.finish(result, updateVersion); } catch (e) { updateScript.fail(e); } updateScript.result;
const UpdateScript = require('@nginstack/devops/lib/update/UpdateScript'); const updateScript = new UpdateScript(); try { updateScript.copyChildrenViewPermissions(-999999); updateScript.finish('Permissões da classe -999999 ajustadas com sucesso.'); } catch (e) { updateScript.fail(e); } updateScript.result;
Members
-
result :string
-
Resultado do script retornado para atualização de produtos. O valor desta propriedade deve ser lida na última linha do script e deixada na pilha, conforme exemplo do construtor.
Type:
- string
-
source :Connection
-
Conexão de onde foi originada a atualização.
Importante: Não é possível utilizar métodos que façam uso do cache local através de instâncias de Connection. Isto elimina o uso, por exemplo, dos métodos getChildren, cloneLocalCache e cloneLocalCacheByClass.
Type:
-
sourceDB :Database
-
Interface com banco de dados de origem.
Type:
-
target :Connection
-
Conexão de destino da atualização.
Importante: Não é possível utilizar métodos que façam uso do cache local através de instâncias de Connection. Isto elimina o uso, por exemplo, dos métodos getChildren, cloneLocalCache e cloneLocalCacheByClass.
Type:
-
targetDB :Database
-
Interface com banco de dados de destino.
Type:
-
<inner, constant> sourceConfig :EndPointConfig
-
Type:
- EndPointConfig
-
<inner, constant> targetConfig :EndPointConfig
-
Type:
- EndPointConfig
Methods
-
<static> execute(params)
-
Método auxiliar que realiza a execução de um script de atualização e retorna os detalhes do resultado da execução.
Parameters:
Name Type Description params
ExecutionParams Parâmetros da execução do script.
Returns:
- Type
- ExecutionResult
-
copyChildrenViewPermissions(directoryKey)
-
Cria permissões de visão para a classe informada com base nos diretórios e arquivos filhos.
O objetivo deste método é garantir que um usuário que enxergue qualquer uma das classes ou arquivos filhos tenha acesso também ao diretório onde eles estão localizados. O processo de permissões já dá esta garantia, no entanto quando são realizadas movimentações de diretório em chaves negativas, eventualmente podem ser geradas inconsistências em diretórios ou arquivos de chave positiva. Este método corrige essas inconsistências.
Este método não leva em consideração filtros extras de permissão, portanto não deve ser utilizado em classes que utilizam esse recurso.
Parameters:
Name Type Description directoryKey
number Chave da classe que deve ter a permissão ajustada.
Returns:
Número de versão das alterações realizadas no banco de dados.
- Type
- number
-
fail(error)
-
O método fail é responsável por registrar o evento de Estado 'Fracassado'.
Parameters:
Name Type Description error
Error Deve ser passado o erro ocorrido na execução do script para ser gravado no campo iResult da tabela iSysEvent. É aconselhado que seja guardada a pilha de execução na propriedade stack para que o UpdateScript guarde maiores informações sobre a falha.
-
finish(result, updateVersion)
-
O método finish é responsável por registrar o evento de Estado 'Finalizado'.
Parameters:
Name Type Description result
string Deve ser passado o resultado da execução do script para ser gravado no campo iResult da tabela iSysEvent.
updateVersion
number Caso o script tenha efetuado alguma alteração, a versão deve ser passada para ser gravada no campo iUpdateVersion da tabela iSysEvent.
-
getProductFromKey(key)
-
Obtém a chave do produto ao qual uma chave pertence.
Parameters:
Name Type Description key
number A chave cujo produto se deseja obter.
Returns:
A chave do produto ao qual a chave pertence. Se a chave informada for positiva, será retornado um valor nulo.
- Type
- number