Migration com java  XML
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Autor Mensagem
lfcdtv
JavaBaby

Membro desde: 26/05/2009 09:03:56
Mensagens: 88
Offline


Pessoal,
Qual ferramenta de Migrations (ActiveRecord) vcs usam p/ Java?
jrdalpra
What is classpath?

Membro desde: 19/11/2007 18:55:09
Mensagens: 8
Offline

Opa.

Estou usando o Liquibase http://www.liquibase.org/ . Achei muito bom. Você cria as changesets, ativa ele através de um Servlet, Spring Bean ou linha de comando.

Muito bom e bem flexível.
lfcdtv
JavaBaby

Membro desde: 26/05/2009 09:03:56
Mensagens: 88
Offline

Tem como usar o Liquibase sem xml? Com código java mesmo?
jrdalpra
What is classpath?

Membro desde: 19/11/2007 18:55:09
Mensagens: 8
Offline

Não usei sem o XML. Creio que seja possível fazer a utilização do mesmo usando 100% Java.

Olhei a API dele e é bem organizada, no final ... os XMLs vão virar objetos Java, portanto, creio que com algum estudo, você consiga eliminar os XMLs.

At.,
lgi2020
Virtual Machine Man
[Avatar]

Membro desde: 19/07/2006 10:51:13
Mensagens: 550
Localização: Rio de Janeiro
Offline

Recentemente li sobre uma solução chamada FlyWay.

O site tem uma comparação com algumas outras soluções no mesmo estilo.
http://code.google.com/p/flyway/

Abraços.

Lennon Jesus | CSM | SCJP
http://twitter.com/LennonJesus
[WWW]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline

se for só migração ddl, é só usar o hibernate com hbm2ddl.auto setado pra update.


se for migração de dados daí vc precisa de algo mais apurado.

--
Caelum
www.caelum.com.br

RafaelViana
GUJ Master

Membro desde: 23/03/2008 18:56:02
Mensagens: 1257
Localização: Venâncio Aires/RS
Offline

Lucas Cavalcanti wrote:se for só migração ddl, é só usar o hibernate com hbm2ddl.auto setado pra update.


se for migração de dados daí vc precisa de algo mais apurado.


A migração de ddl com hbm2ddl.auto não é eficaz para todos os casos. Por exemplo, se uma coluna tem o length de 10 e você muda o length para 20. A alteração não será feita no banco de dados. Também, já tive problemas ao não criar índices para algumas tabelas.
Fui atrás para verificar o porquê disso, e achei uma discussão no stackoverflow onde são apresentadas outras situações que o hbm2ddl.auto não resolve. (não lembro o link, também não achei).

Enfim, para criar-se um banco do zero. Funcionaria bem, mas para atualizações constante de ddl não resolve.

Rafael Rodrigues Viana
Estudando Java e Flex
Blog: http://www.cauirs.com.br/rafael/

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
[Email] [MSN]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline

mas alterações pequenas de ddl não precisam de um framework de migrations. Afinal o hibernate sempre gera a última versão do banco corretamente.

vc precisa só do SQL que gera as mudanças, e só precisa executá-lo uma vez.

da vez que eu usei migrations, eu usei o Migrations do Rails em modo standalone, para um projeto java. Funcionou bem.

--
Caelum
www.caelum.com.br

jrdalpra
What is classpath?

Membro desde: 19/11/2007 18:55:09
Mensagens: 8
Offline


Estou trabalhando em um projeto de migrations java em um estilo bem parecido com o do RoR, mas como estou com pouco tempo, creio que vá demorar.


Mas vejo que o Liquibase resolve uma boa parte dos problemas em relação ao gerenciamento do schema do banco e também em relação à atualização dos dados.

Falow.
RafaelViana
GUJ Master

Membro desde: 23/03/2008 18:56:02
Mensagens: 1257
Localização: Venâncio Aires/RS
Offline

Lucas Cavalcanti wrote:mas alterações pequenas de ddl não precisam de um framework de migrations. Afinal o hibernate sempre gera a última versão do banco corretamente.

vc precisa só do SQL que gera as mudanças, e só precisa executá-lo uma vez.

da vez que eu usei migrations, eu usei o Migrations do Rails em modo standalone, para um projeto java. Funcionou bem.


Sim, só o SQL basta (é o que tenho feito hoje).
O problema é quando se tem mais bancos de dados. (para clientes diferentes).

Legal a idéia de usar o Migration do Rails. Irei pesquisar sobre o assunto.

Rafael Rodrigues Viana
Estudando Java e Flex
Blog: http://www.cauirs.com.br/rafael/

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
[Email] [MSN]
blackthorne
Thread.start()
[Avatar]

Membro desde: 10/01/2007 20:42:47
Mensagens: 42
Localização: Fortaleza - CE
Offline

Eu uso o mybatis-migrations (desde quando chamava-se ibatis).
Ele é bem simples, voce escreve suas migrações com o sql nativo do banco no qual vai usar.
Isso pode resolver muita coisa, mas para mais de um banco, já da um trabalho extra.

O mybatis tambem tem uns problemas para processar os delimitadores para bancos diferentes, por exemplo, o GO para MSSql e o ponto-virgula para oracle, as vezes tenho que explicitá-los na migration, mesmo ele configurado corretamente.

Agora que vi o flyway, vou testá-lo. Pelo que vi, esse flyway começou bem, a matriz comparativa realmente dá uma boa idéia do que ele faz.
Vamos ver.
[WWW]
 
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Ir para:   
Powered by JForum 2.1.8 © JForum Team