Controle o banco com Flyway

Controle o banco com Flyway. Já ouvir falar no termo “versione o seu banco”? não? então hoje você saberá a resposta para isso caso sua equipe venha a trabalhar controlando as versões do banco de dado a cada versão liberada.

Vamos conhecer um pouco sobre o Flyway, um frameworks do Google para controlar as atualizações de banco de dados.

Vamos ao Problema

A cada versão de nosso software existem muitas tabelas a serem criadas, funções, trigger e outras rotina que precisam ser rodadas no banco de dados para que a versão possa rodar sem problemas, em muitos lugares é necessário acessar manualmente a base de dados e rodas todas essas atualizações, aqui temos um grande problema de que o responsável por isso esqueça algum sql, ou mesmo os execute em lugar errado o que iria gerar um grande problema pra todos inclusive o cliente que iria ficar sem usar o sistemas até o problema ser resolvido ai já viram o problema, cabeças vão rolas :).

Solução

Te apresento o Flyway. Mas você deve estar pensando, se existe o Hibernate e Jpa pra atualizar automático será que é flyway-logonecessário isso? Sim é muito útil, assim  a atualização automática fica desabilitada e as rotinas podem ser executadas pelo FlyWay, a principal vantagem está em executar funções, trigger, alterações de dados, scripts  e outras rotinas em SQL que deverias ser executadas manualmente, usando Flyway ele controla e da rollback no banco de dados e  te da o log exato do que foi executado no banco em cada versão liberada. Nó vídeo abaixo mostro como é a estrutura o funcionamento e como configurar no Spring.

Assista ao vídeo que preparei

Sem usar Spring

         // Criação do DataSource
		PGPoolingDataSource dataSource = new PGPoolingDataSource();
		dataSource.setUser(caixaki);
		dataSource.setPassword(admin);
		dataSource.setDatabaseName(caixaki);
		dataSource.setInitialConnections(10);
		dataSource.setPortNumber(5432);
		dataSource.setServerName(localhost);
		
		// Inicialição do FlyWay
		Flyway flyway = new Flyway();
		flyway.setDataSource(dataSource);
		flyway.setBaselineOnMigrate(true);
		flyway.setTable(version);
		flyway.setSqlMigrationPrefix(v);
		flyway.setSqlMigrationSeparator(_);
		flyway.setEncoding(ISO-8859-1);
		flyway.setValidateOnMigrate(true);
		
		// executa Migração;
		flyway.migrate();

Gostou? Compartilha e se inscreva! Abraços.


Acesse
Cursos e Projetos
Java
Acesse
Outros Cursos
PHP MySQL Android
Acesse
Encomende um Projeto
Feito pra Você
Acesse
Tire as Dúvidas On-line
Consultor
Acesse
Aulas de Java só suas
Encomende Agora
Acesse
Dividindo Conhecimento
Posts e Tutoriais
Acesse
Sites e Parceiros
Associados
Acesse
Menu Inicial
Home Page

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Instrutor Java Quer se tornar aluno VIP? CLIQUE AQUI!
Instrutor Java Alex Fernando Egidio
Autor, criador e fundador do Java Avançado Cursos TI. Atua no mercado como desenvolvedor e engenheiro de sistemas em Java é apaixonado por desenvolvimento web em Java e pela “mágica” que seus frameworks trazem para o dia a dia de nós desenvolvedores.
Com mais de 10 anos de experiência ajuda programadores do Brasil todo a se tornarem profissionais.