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
