Ir para conteúdo
  • Cadastre-se

dev botao

Atualizador de sistemas


  • Este tópico foi criado há 4890 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Idéia? Eu faço assim.

Para atualização do software. Tenho um PHP numa área administrativa que me permite fazer upload de novos releases. Ao fazer o upload de um release eu atualizo manualmente o número da versão. No cliente tem um executável extra que chama o executável principal. Ele confere a versão na web e se for maior que a corrente, ele baixa a versão da web. Na verdade minha solução é um pouco mais complexa que isso pois considera um repositório local e um controle de licenças.

No código é simples. IdHttp.get para descobrir a versão. IdFTP para baixar e uma funçãozinha trivial para descobrir a versão do executável. O resto é controle de licença e segurança.

Para atualização do banco de dados. É meu software principal que faz, ao acessar o sistema e conectar no bd, antes mesmo da tela de login, ele faz uma consulta numa tabela que tem um campo chamado VERSAO_DB. Se a versão esperada pela aplicação for maior, ele começa a rodar os scripts de atualização. Basicamente uso ZSQLScript e cada rotina de atualização está numa função separada, assim se eu precisar de uma atualização mais inteligente que faça um laço numa tabela ou algo assim e não quiser criar uma SP para isso, posso fazer client-side. Ao final de cada função, VERSAO_DB é incrementado até atingir a versão correta.

Este campo também tem o efeito de, se a versao_db do banco for maior que a versao_db esperada, a aplicação não roda pois o banco já espera uma versão mais nova da aplicação. Tecnicamente, ZSQLScript para rodar os scripts que são escritos no próprio código. E uma função para cada versão. Uso basicamente uma estrutura assim:

if versao_db < 120 then atualiza120();

if versao_db < 121 then atualiza121();

e por aí vaí....

[]'s

Redes e segurança de informação:

Acesse http://www.paulogurgel.com.br

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4890 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...