Categorias
Java Oracle

Gerenciando ambientes de banco com o Power Architect

Recentemente li esse post no GUJ e resolvi pesquisar sobre as ferramentas sugeridas que eu não conhecia, eu precisava fazer duas coisas: gerar um modelo de parte de algumas tabelas e comparar diferentes ambientes de bancos de dados: o de desenvolvimento e o de produção.

Felizmente eu achei o que procurava com a excelente ferramenta Power Architect.

O download de sua última versão pode ser feito nesse link aqui.

Para demonstrar o potencial da ferramenta, vou demonstrar o seu uso com os bancos de dados do melhor fórum em Java existente:o JForum, ele não só roda o GUJ, mas em diversos outros fóruns, inclusive o das ferramentas do SQL Power!

Essa ferramenta não possui a beleza gráfica como outras ferramentas pagas, mas ela funciona muito bem e sua configuração é bem simples:

  1. Na opção Connections -> Database Connection Manager configure o driver JDBC de seu banco (já vem pré-configurado os drivers para HSQL, MySQL, PostgreSQL e SQL server).
  2. Na opção Connections -> Add Source Connection e informe os dados de conexão de seu banco de dados. Essas conexões serão usadas nos seus projetos.
  3. Clique com o botão direito do mouse ao lado de “Project” e escolha a opção “Add Source Connection“, depois escolha a conexão que você criou no item anterior. Logo depois que adicionar a conexão, a ferramenta faz a engenharia reversa para catalogar as suas tabelas.
  4. Navegue pelos bancos de dados e arraste as tabelas que desejar para a direita, monte o modelo de dados que quiser. É possível ainda exportar o diagrama para PDF, mas antes disso é interessante usar a opção Automatic Layout para melhorar o diagrama.

Bom, até agora não fez mais do que muitas ferramentas gratuitas por aí, mas o que achei mais interessante é a característica de poder comparar dois bancos de dados e listar as diferenças, isso é essencial quando se trabalha com vários ambientes de banco de dados,como desenvolvimento, homologação, testes e produção.

No exemplo abaixo eu comparo os bancos de dados do JForum 2 ( o atual ) e o 3 ( que está em desenvolvimento), notem que eu escolho a na primeira opção em vermelho que é o banco desatualizado, e a segunda opção o banco mais recente:

Aqui o relatório comparativo:

Aqui se selecionada a opção de Output Format para SQL, basta rodar o script gerado abaixo para atualizar a base de dados antiga:

Se você trabalha com diferentes ambientes, essa ferramenta open source será muito útil e evitará problemas desnecessários como aquela coluna que você esqueceu de adicionar em outro ambiente e gera diversos erros estranhos…

Fernando Boaglio, para a comunidade. =)

Por Fernando Boaglio