| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2011 12:52:20
|
lfcdtv
JavaBaby
Membro desde: 26/05/2009 09:03:56
Mensagens: 88
Offline
|
Pessoal,
Qual ferramenta de Migrations (ActiveRecord) vcs usam p/ Java?
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2011 13:19:54
|
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.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2011 13:36:22
|
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?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2011 13:39:34
|
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.,
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2011 14:16:50
|
lgi2020
Virtual Machine Man
![[Avatar]](/images/avatar/1ac978c8020be6d7212aa71d4f040fc3.jpg)
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2011 17:23:42
|
Lucas Cavalcanti
GUJ Hacker
![[Avatar]](/images/avatar/5f6780632f5d27dd0cded5fc9361169e.jpg)
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
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2011 17:32:33
|
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." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2011 23:02:38
|
Lucas Cavalcanti
GUJ Hacker
![[Avatar]](/images/avatar/5f6780632f5d27dd0cded5fc9361169e.jpg)
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
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2011 06:51:21
|
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.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2011 12:07:17
|
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." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/06/2011 15:09:03
|
blackthorne
Thread.start()
![[Avatar]](/images/avatar/77bb909a2d2ea5c42602592012e43474.jpg)
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.
|
|
|
 |
|
|