[firebase-br] Como manter bases de cliente sincronizadas (estrutura do banco)
Alexandre
camilo em apollosistemas.com.br
Sex Set 18 09:57:17 -03 2015
Bom dia Rodrigo
Aqui na empresa utilizamos o Delphi, e fazemos todo o trabalho por ele.
1)No bd, tenho uma tabela de controle, onde quando termino de
atualizar eu guardo a versão do software que executou a atualizacao.
2) Para cada versão que que sai, se for alterar estrutura do banco
a gente cria uma função (Function atu_20015...), quando inicio o
sistema, verifico se a versão do executável for maior que a versão que
esta gravada no banco, executo todas as funcoes posteriores a que estava
gravada no banco.
Ex.:
1) estou na versão 1.0.0.0, no controle esta gravado esta versão.
2) liberei varias versão mas o cliente não atualizou;
3) Liberei a verão 1.0.0.50, ao entrar no sistema comparo as
versões e executo as funcoes de atu_1001 até atu_10050;
4) Claro que nas funcoes faço verificação para não criar um campo
que já existe, chaves, indices....
tem funcionado blz, sem problemas.
Alexandre Camilo
Em 18/09/2015 09:24, Rodrigo escreveu:
> Bom dia, gostaria de contar com a ajuda e experiência dos companheiros da lista. Hoje estou tento vários problemas para manter a estrutura do banco de dados dos meus clientes atualizada. Além de ser um processo trabalhoso está sujeito a muitos erros. Como funciona:
>
> 1-tenho um bd na internet que guarda os scripts
> 2-comparo a última versão do meu banco com a nova, gero um script e salvo neste banco com um nr de versão
> 3-ao entrar no sistema o mesmo checa esse numero de versão e se for diferente baixa o script e roda o mesmo
> 4-este processo funciona perfeito num mundo perfeito
>
> Problemas:
> 1-se alterei alguma coisa no cliente, para uma correção urgente, já furou o script de atualização
> 2-se o cliente está várias versões desatualizadas a chançe de não rodar o script é maior
> 3-qualquer problema que a atualização pare na metade já complica também
> 4-o cliente fica com o sentimento que cada atualização é uma bomba
>
> Nessas situações tenho que pegar o banco do cliente e gerar um script personalizado para atualizar certinho
>
> Soluções?
>
> 1) a clever components tem uma suíte vcl para automatizar tudo isso, comparando com um banco padrão, o problema é que em meus testes (ano passado) o script de atualização se perdeu várias vezes, coisa que não acontece no ibexpert
> 2) o ibexpert tem a DLL ibscript, que faria isso também, mas não cheguei a me aprofundar em como usá-la, apenas alguns testes básicos, é um pouco mais complicada para usar
>
> Outra questão, comparar o banco do cliente "on the fly", com um banco padrão atualizado, creio que teria que ser com o script do banco padrão e estar criptografado, por questões de segurança
>
>
> Desculpe o texto longo mas creio que essa questão é sempre uma grande dúvida e obrigado a quem puder ajudar.
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://www.firebase.com.br/pesquisa_lista.html
>
--
Alexandre Camilo
+55 27 3233-4143
Mais detalhes sobre a lista de discussão lista