Deem uma olhada no liquibase:

http://www.liquibase.org/

Com Eclipse / ant e outras configurações tem sido muito útil aqui.

Infelizmente não posso dar maiores detalhes porque creio que iria cair
em informação proprietárias.

2008/6/13 Joao <[EMAIL PROTECTED]>:
> meus 2 cents (como diria o ike)
> o another pg tool diff gera a diferença entre dois bancos de dados!
>
> ----- Original Message -----
> From: "Leonardo Cezar" <[EMAIL PROTECTED]>
> To: "Comunidade PostgreSQL Brasileira" <[email protected]>
> Sent: Friday, June 13, 2008 10:19 AM
> Subject: [pgbr-geral] Versionamento de banco de dados ERA: Re: Script à
> prova de falhas.
>
>
> 2008/6/12 Roberto Mello <[EMAIL PROTECTED]>:
>
>> O que eu faco na nossa aplicacao e' que mantemos as alteracoes ao BD
>> no subversion, dentro de diretorios das respectivas versoes `as quais
>> as alteracoes pertencem.
>
> Aqui tocou num ponto interessante.
>
> Não consegui ainda alcançar um estágio de maturidade nessa "coisa" de
> versionamento de DDL. Basicamente o que fazemos normalmente é
> versionar models (do mvc) e depois reconstruir a estrutura do banco a
> partir dessas classes (vide Rails::Migrations).
>
> O problema desse método é precisar manter o modelo de dados de acordo
> com  as deficiências do active record para funcionar o versionamento.
>
> Outras ferramentas utilizadas foram ggetddl[1], mdb2schema [2] e uma
> versão modificada de SQL::Fairy [3]. Sinceramente, nenhuma trabalha de
> forma a atender 100% das necessidades.
>
>> O banco de dados tem uma pequena tabela que indica a versao atual.
>> Para fazer o upgrade basta verificar qual a versao atual, e rodar os
>> scripts de atualizacao posteriores, dentro de blocos transacionais.
>
>> Funciona muito bem.
>
> Funciona de acordo com a disciplina dos desenvolvedores, e diga-se de
> passagem, desenvolvedores (eu sou um) não costumam ter tamanha
> disciplina. :-)
>
> Penso em construir algo bem simples, como é utilizar um VCS.
>
> Voce altera o banco, ele faz a diferença entre duas definições e gera
> o DDL necessário, versionando uma versão anterior também em um formato
> que seja aplicável ao banco.
>
> Vejam bem, o que estou falando é em um sistema que *versione* DDLs e
> não que apenas façam o diferencial deles como é o caso do apgdiff, por
> exemplo.
>
> Acreditem, não é tão fácil quanto parece, embora que a defnição seja
> bem simples.
>
> [1] https://labs.omniti.com/trac/pgsoltools/wiki/getddl
> [2] http://pear.php.net/package/MDB2_Schema/
> [3] http://sqlfairy.sourceforge.net/
>
> Um abraço!
>
> -Leo
> --
> Leonardo Cezar
> http://pgcon.postgresql.org.br
> http://www.dextra.com.br/postgres
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a