Passa a ser possível criar rotinas para que o upgrade completo execute automaticamente. O próprio upgrade irá controlar a execução das rotinas criadas pelos times, sendo possível acompanhar posteriormente o resultado da execução de cada script desenvolvido.
1- Os scripts devem ser inseridos a partir da classe /Dados/Arquivos/Upgrade/Scripts Pos-Upgrade/. Os arquivos devem ser do tipo JavaScript com a extensão ".ijs".
2- Eles devem possuir necessariamente a seguinte estrutura:
includeOnce -1898141821; /* /products/INTEQengine/library/util/UpgradeScript.ijs */
var upgradeScript = new UpgradeScript();
try {
var updateVersion = null;
var result = "";
// ----------------------------------------------------------------
// Desenvolva aqui a lógica do seu script pós-upgrade
// 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
// ----------------------------------------------------------------
upgradeScript.finish(result, updateVersion);
} catch (e) {
upgradeScript.fail(e);
}
upgradeScript.result;
# Atenção:
* Os métodos finish e fail são responsáveis pela gravação de registros na tabela de Eventos do Sistema (iSysEvent) e devem ser invocados de acordo com a estrutura acima.
* Seu script deve retornar sempre na última linha o valor existente na propriedade result do objeto UpgradeScript. Ela contém as informações que serão listadas pelo processo de upgrade ao seu final.
* O método finish deve receber uma única versão referente às alterações realizadas no banco de dados.
* As rotinas criadas para essa funcionalidade NÃO devem executar alterações diretamente no banco de dados: database.executeSQL(sql).
* Rotinas potencialmente lentas não devem ser incorporadas automaticamente ao upgrade.
Utilize a consulta disponível no caminho abaixo para verificar os status da execução das rotinas do upgrade:
Ir para > Desenvolvimento > Atualizacao > Historico de Execucao de Rotinas de Upgrade
A documentação completa da classe UpgradeScript encontra-se em: