[firebase-br] Versão de banco de dados

Romulo Oliveira romulocpd em yahoo.com.br
Sex Jan 27 16:28:56 -03 2006


Fabricio,

Realmentte suas 2 formas são muito boas. Realmente o grande problema é
quando um ALTER TABLE, ALTER PROCEDURE pode não resolver pois vc talvez
tenha que fazer grandes ajustes UPDATE nos dados para a alteração ser ideal.

O que eu acho o ideal, porém muito trabalhoso, seria o atualizador criar um
banco vazio e importar da base antiga.  Desta forma seria ainda uma forma do
atualizador não ferrar a base original (pois sabem, mesmo que o cliente seja
responsavel pelo bakcup vc tem q fazer sua parte...).

Acho que vou adotar essa de mandar um atualizador que faz os ajustes no
banco, mas queria fazer a outra! só falta tempo.  Ja tenho 90 tabelas e
fazer do zero é f.....

Ja pensei em criar tipo uma linguagem de script propria pra facilitar o meu
atualizador.. dai ele cria o select de create table automatico seme u ter q
fazer namão.  Tipo:

<Tabela>
    <Nome>TipoProduto</nome>
    <Campos>
        ..
        ..

Tipo um xml mesmo.. para facilitar pois faze ro sql todo namao é o bicho.

vlw




Vlw!!!

Mas vamos ae pessoal! Vamos ver a melhor forma.

"Fabrício Fadel Kammer"
<ffkammer em conchalnet.com.br> escreveu na
mensagem news:007a01c62373$9b31ef30$1b0aa8c0 em fabricio...
Boa tarde Romulo,

Ainda não fiz, estou pesquisando junto aos amigos da lista para ver se
alguém achou a solução ideal. Porém a forma que estou mais propenso a
fazer seria mandar junto com a atualização um bd vazio e importar os
dados do banco antigo, pois em estruturas novas pode haver alterações
significativas que um simples script não resolveria. Porém isso é
trabalhoso e não sei se existe alguma coisa pronta para a importação
automática de dados de um banco para outro.

Outra forma que pensei é armazenar no banco a versão atual dele e dentro
do exe deixar a versão do mínima do banco necessária e não permitir que
o sistema seja executado sem que o banco seja atualizado. Isso forçaria
a atualização do BD, mas não seria muito funcional, pois temos clientes
distantes e em vários deles não temos acesso remoto ao servidor.

Vamos ver a opnião dos amigos da lista.

Abraços

Fabrício F. Kammer

-----Mensagem original-----
De: lista-bounces em firebase.com.br
[mailto:lista-bounces em firebase.com.br]
Em nome de Romulo Oliveira
Enviada em: sexta-feira, 27 de janeiro de 2006 14:39
Para: lista em firebase.com.br
Assunto: Re: [firebase-br] Versão de banco de dados


Gabriel,

Opa! Podemos converar. . Jà pensei em diversas formas de implementar
isto e simplesmente não cheguei a uma forma eficiente.

Já pensei em manter um arquivo com os comandos SQL que devem atualizar o
banco.  Tipo:

Da versão 1.0.1 para 1.0.4
ALTER TABLE
INSERT
ALTER TABLE

Da versao 1.04 para 2.0
..
..
..

Tipo, eu guardar as mudanças da base entre as versões e o programa ao
ser executado pegaria a versao dele (que sempre deve ser a ultima, mas
nem sempre é assim) e atualizar os comandos.  Mas é mt sujeitoa falha.

Outra forma que pensei era recriar a base nova em um banco vazio e
depois transportar oso dados para a nova estrutura, assim já mantendo
uma copia exata da base original antes da atualização.  Desisti pois
achei que nao ficaria funcional.

Explique como fez, acho que isso dáuma boa discussão!
Vlw!

Abraços,

Romulo
Rio das Ostras / RJ

"Gabriel Hilbig" <ghilbig em bol.com.br> escreveu
na mensagem news:drdlbg$flr$1 em sea.gmane.org...
> Fabrício;
>
> Tivemos o mesmo probl que vc.
>
> A solução foi desenvolver uma Rotina de Atualização do BD.
>
> Nosso exectável carrega um ARRAY com TABELAS , CAMPOS, TIPOS, INDICES,

> TRIGGERs, etc ....
>
> O próprio software avalia o BD instalado no CLI e , havendo qq
divergência,
> ele mesmo corrige CRIANDO CAMPOS , IDXs , etc.
>
> --
> Gabriel Hilbig
>
> "Fabrício Fadel Kammer"
> <ffkammer em conchalnet.com.br> escreveu na
> mensagem news:005701c6236d$f7d4e590$1b0aa8c0 em fabricio...
> Boa tarde lista,
>
> Gostaria da opnião de todos sobre controle de versão de banco de
> dados.
>
> Meu software está crescendo demais e queria ter uma forma de previnir
> que meus clientes utilizassem uma versão do executável que não é
> compatível com o banco de dados em uso. Alguém na lista faz esse tipo
> de controle? Se sim, como?
>
> Grato,
>
> Fabrício F. Kammer
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br Para
> editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>
>
>


------------------------------------------------------------------------
----
----


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br Para
editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa






______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa







Mais detalhes sobre a lista de discussão lista