Boa tarde, eventualmente preciso rodar scripts num banco de dados.
Ocorre muitas vezes de o banco ficar muito desatualizado, precisando rodar vários scripts.
Gostaria de fazer uma forma de reunir num único script os vários scripts.
O problema é que foi estruturada arvore dos scripts assim:
Ex. X:\Versoes\Envio\Sistema\versao1
X:\Versoes\Envio\Sistema\versao2
X:\Versoes\Envio\Sistema\versao3
X:\Versoes\Envio\Sistema\versao4
X:\Versoes\Envio\Sistema\versao5
X:\Versoes\Envio\Sistema\versaox
Eventualmente dentro da pasta versão pode conter uma outra pasta com nome qualquer.
Gostaria de copiar arquivos que estão num intervalo de diretorios.
Ex. entre X:\Versoes\Envio\Sistema\versao2 até a X:\Versoes\Envio\Sistema\versaoX (ultima pasta)
Ou dependendo da versão do meu workspace da X:\Versoes\Envio\Sistema\versao2 até X:\Versoes\Envio\Sistema\versao5
Alguém saberia dizer se é possível e me indicar um caminho?
obs. Meu problema esta em acessar os diretorios, não em ler os arquivos e criar outros
cara recomendo vc usar o liquibase para fazer isso, vai te ajudar muito
http://cur.lv/njte
com ele vc vai gerenciar todas as alteraçoes de estrutura do banco, e ele gera documentação de uma versao para outra de script… é muito simples e interessante…
O que acontece é que eventualmente precisamos do banco de dados do cliente (nossa caso banco.fdb firebird) para “debugar” algo que não conseguimos simular.
Só que ocorre de muitas vezes o cliente esta muito desatualizado, a arvore de versões não sou eu que controla, simplesmente pego os scripts e rodo no banco que estará local na minha maquina.
só exemplificando, antes de escrever este topico, rodei 26 scripts num banco para poder trabalhar nele.
então por isso mesmo, o liquibase vai verificar quais scripts devem ser executados no banco, isso vai ajudar vc pq não vai precisar definir quais scripts devem ser executados por conta de desatualização, ele vai gerir tudo sózinho e vai te entregar no final o banco atualizado com a versao final…
humm, entendi, vou dar uma olhada.
Só pra constar, achei este exemplo, http://pedroabs.wordpress.com/2010/10/13/como-listar-toda-uma-estrutura-de-diretorios/ não faz exatamente o que quero, mas é um começo.