[firebase-br] RES: Procedure para recriar views

Wesley Oliveira wesley em rgsystem.com.br
Ter Out 29 09:08:32 -03 2013


Nosso sistema usa cliente-servidor e a atualização do banco fica toda no
servidor. Nós temos a versão do banco armazenada e, quando o servidor é
iniciado, ele verifica se a versão do banco é menor que a última versão
armazenada em um repositório SQL, que nada mais é que um TMemo numa unit.

Ou seja, em todo cliente que nós atualizamos o servidor, o banco de dados é
atualizado também.

Essa procedure eu fiz no caso de que, por exemplo, temos 40 views no banco
e, pra atualizar isso pelo servidor da aplicação "manualmente", eu queimaria
aí 40 versões do banco, além de pesar a unit com esse tanto de texto. Desse
jeito, se eu precisar recriar as views de novo mais pra frente, só vou
precisar de uma atualização com um execute procedure =]

Obrigado pela dica do "atualizador"! Ter uma aplicação completamente
separada pra isso também é legal!

Abraço!
Att.

Wesley Oliveira
Programador de Sistemas de Informação
RG System Informática
Fone:     +55 (27) 3727-1127
Celular:  +55 (27) 9606-0038


-----Mensagem original-----
De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Fernando Correa
Enviada em: terça-feira, 29 de outubro de 2013 08:29
Para: FireBase
Assunto: Re: [firebase-br] Procedure para recriar views

Wesley, saudações. Que tipo de acesso você usa para o seu banco de dados?!
Você pode criar um programa somente para atualizar pra você o seu Banco.
Tive um caso assim em um empresa que trabalhei em São Paulo-SP e levamos
para uma CTO em Salvador-BA onde também atendeu (Não sei se atende ainda),
mais enfim, o que fizemos foi um script padrão de atualização, com inicio,
meio e fim, assim facilitava a atualização quando e onde o cliente estivesse
utilizando nossa solução (Sistema).

    Inclusive alterar Views, Triggers, Procedures e UDFs.

    Um "atualizador" que chamava um arquivo .SQL e nesse arquivo tínhamos
todas as instruções para serem executadas no GDB.


Fernando Correa
Fone: 27-9971-8351


Em 28 de outubro de 2013 14:39, Wesley Oliveira
<wesley em rgsystem.com.br>escreveu:

> Olá pessoal!
>
>
>
> Tenho várias views no meu sistema e, às vezes precisamos alterar o 
> tamanho de um campo de uma tabela que é usada pela view e o que 
> acontece? Se não recriarmos a view, ao fazer um select nela, começa a 
> dar erro de ‘string truncation’... Procurei na net uma maneira de 
> recriar todas as views (não sei qual pode ser afetada – só se dar um 
> search in metadata no IB, mas isso daria trabalho demais), então fui 
> fuçando até que fiz uma procedure pra isso.
>
>
>
> Como aqui funcionou 100%, coloquei no pastebin pra compartilhar com a 
> lista.
> Vai que alguém tem o mesmo problema que eu! =P
>
>
>
> http://pastebin.com/6FsJhadv
>
>
>
> Valeu!
>
>
>
> Att.
>
> Wesley Oliveira
> Programador de Sistemas de Informação
>
> RG System Informática
> Fone:     +55 (27) 3727-1127
> Celular:  +55 (27) 9606-0038
> Email:     <mailto:wesley em rgsystem.com.br> wesley em rgsystem.com.br
> Website:  www.rgsystem.com.br
>
> Antes de imprimir, pense em sua responsabilidade com o MEIO AMBIENTE.
> Confidencialidade: A informação contida nesse e-mail, incluindo 
> anexos, é confidencial e dirigida somente ao(s) destinatário(s). No 
> caso de recebimento equivocado, por favor, informe ao(s) remetente(s). 
> A divulgação, utilização, reprodução ou distribuição do conteúdo dessa 
> mensagem por outra pessoa que não o destinatário é, expressamente, 
> proibida.
>
> ______________________________________________
> 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://firebase.com.br/pesquisa
>



--
Atenciosamente
Fernando Correa
______________________________________________
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://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista