Consultor Eletrônico



Kbase 47713: Script para desabilitar índices
Autor   Marcos Kirchner - CAT
Acesso   Público
Publicação   4/16/2014
Conforme o Eloi já apresentou em um artigo anterior, é possível agilizar a etapa de correção de dicionário no processo de conversão para o Datasul 11. A técnica consiste em importar as definições (arquivos DF) com os índices inativos, e depois ativá-los com a ferramenta idxbuild do Progress.

Para usar este método é necessário alterar todos as definições e incluir a palavra 'INACTIVE' na definição dos índices. Segue abaixo um pequeno script PowerShell para realizar esta tarefa automaticamente:

$dfFiles = Get-ChildItem *.df;
$dfFiles | ForEach-Object {
Get-Content $_ | ForEach-Object {
$_;
if ($_ -like "ADD INDEX *") {
" INACTIVE";
}
} | Out-File -Encoding ASCII -FilePath "$($_.BaseName).inactive.df";
}
$dfFiles = $null;

Este script processa todas as definições de dicionário no diretório atual e cria uma nova definição, com extensão ".inactive.df". Nesta nova definição os índices estão marcados como inativos.