Fórum Atualizar estrutura Banco de Dados automaticamente #417116
21/05/2012
0
Pensei em criar uma entidade onde armazeno a versão atual do banco de dados e toda vez que o sistema for executado ele compara esta versão, se estiver defasada a aplicação roda essa rotina que cria os determinados campos para as diferentes tabelas atraves de scripts e ao final gravo o numero da versão atual na entidade parâmetros. Com isso não preciso ficar manipulando base de dados, o próprio sistema é quem faz isso para mim de forma automática.
Entenderam???
Aguardo contato
Iramar Junior
Curtir tópico
+ 0Posts
21/05/2012
Joel Rodrigues
Na última empresa na qual trabalhei, isso era feito exatamente da forma como você falou. O único ponto que eu não achei interessante é que o código SQL era escrito totalmente dentro do programa. Eu, particularmente, optaria por manter os scripts em arquivos externos (em um FTP, por exemplo, ou mesmo em uma pasta qualquer). Ao verificar a versão, você buscaria pelo respectivo arquivo, carregaria seu conteúdo, e executaria.
Isso é o básico, você poderia ver qual a forma mais segura de fazer isso. Por exemplo, para não manter os scripts acessíveis ao cliente, você deve apagar os arquivos após a execução (por isso sugeri o FTP).
Boa sorte.
Gostei + 0
21/05/2012
Iramar Junior
Concordo com vc, nao quero deixar os codigo SQL dentro do programa, pq isso fica complicado, pois toda vez que houver uma alteracao no BD tera que atulizar o EXE primeiro. O correto é criando arquivos SQL externos como mencionou....
Teria alguma funcao ou rotina para me auxiliar...
Na última empresa na qual trabalhei, isso era feito exatamente da forma como você falou. O único ponto que eu não achei interessante é que o código SQL era escrito totalmente dentro do programa. Eu, particularmente, optaria por manter os scripts em arquivos externos (em um FTP, por exemplo, ou mesmo em uma pasta qualquer). Ao verificar a versão, você buscaria pelo respectivo arquivo, carregaria seu conteúdo, e executaria.
Isso é o básico, você poderia ver qual a forma mais segura de fazer isso. Por exemplo, para não manter os scripts acessíveis ao cliente, você deve apagar os arquivos após a execução (por isso sugeri o FTP).
Boa sorte.
Gostei + 0
21/05/2012
Joel Rodrigues
A minha ideia era que você gravasse os arquivos com a identificação da versão, por exemplo: 1.txt, 2.0.txt, 3.1.sql, etc...
Você pode usar um TextFile ou StringList para carregar o arquivo, passar para um componente que execute o script e depois apagar o arquivo.
Eu infelizmente não tenho nenhuma rotina pronta pra te passar, apenas ideias e sugestões.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)