Como obter uma hierarquia de classes em um script automático de upgrade?
Data de postagem: Jul 30, 2012 6:54:16 PM
No escopo de um script de upgrade, o acesso às variáveis globais "connection" e "database" não são permitidos pois podem causar confusão sobre qual base de fato está sendo acessada. Por isso temos as propriedades "target" e "source" dentro de "UpgradeScript" que nos permitem fazer esses acessos, referenciando a conexão alvo e a conexão origem respectivamente.
Devemos ter em mente que "upgrades" podem envolver 2 ou 3 bases. Ora uma base atualiza outra diretamente a partir de si mesma, ora uma base atualiza outra usando uma terceira como origem. E também que remotamente não é permitida a utilização dos métodos e propriedades associadas ao cache. Nesse cenário fica claro que não existe uma certeza de onde o script de "upgrade" será executado, e que não podemos pegar a hierarquia de classes utilizando o método (depreciado) "getChildren" por que este utiliza cache local.
O Framework disponibiliza através do método uwl.classes.getRemoteChildren que utiliza internamente não o cache, mas o banco de dados para fornecer a informação.
Mais informações, favor entrar em contato com o time Engine.
Documentação de uwl.classes.getRemoteChildren