Introdução ao Flyway

392 visualizações

Publicada em

Aplique as mudanças na sua base de dados de forma automática com o Flyway

Publicada em: Software
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
392
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
15
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Introdução ao Flyway

  1. 1. Jadson Santos Computer Engineer
  2. 2. Contextualização • Nós estamos craques em resolver o problema de versionamento do código fonte. (SVN, GIT, branches, tags, etc..) • Mas e o banco de dados? •  Qual a versão exata do banco que nós utilizamos? •  A maioria projetos ainda aplicam as mudanças manualmente. 02/09/15 FlyWay 2
  3. 3. Flyway • Como o flyway funciona? •  O flyway cria e gerencia uma tabela de meta dados no banco de dados •  A cada script aplicado, a tabela de meta dados é atualizada para registrar a mudança e impedir que ela seja aplicada novamente •  Essa tabela vai conter o versionamento do banco 02/09/15 FlyWay 3
  4. 4. Flyway • Por padrão essa tabela é chamada de schema_version. • Se existem mais de 1 esquema essa tabela fica no primeiro esquema configurado 02/09/15 FlyWay 4
  5. 5. Instalação • Passo 1 •  Apenas descompactar o flyway.zip em um diretório de sua preferência 02/09/15 FlyWay 5
  6. 6. Instalação • Passo 2 •  Editar o arquivo de configuração do flyway 02/09/15 FlyWay 6
  7. 7. Instalação • Passo 2 •  Editar o arquivo de configuração do flyway colocando as configurações do banco 02/09/15 FlyWay 7
  8. 8. Funcionamento • Comando Info •  Mostra o status do versionamento do banco •  Ps.: O flyway chama o versionamento de “migration” 02/09/15 FlyWay 8
  9. 9. Funcionamento • Comando Validate •  Valida se todos os sqls foram corretamente aplicados 02/09/15 FlyWay 9
  10. 10. Funcionamento • Comando BaseLine •  Aplica todas as mudanças e marca um ponto estável •  Exemplo de aplicação: A cada versão de aprimoramento 02/09/15 FlyWay 10
  11. 11. Funcionamento • Comando BaseLine •  Tabela de versionamento do banco criada: 02/09/15 FlyWay 11
  12. 12. Realizando uma atualização • Localização dos Scripts •  Colocar os scripts de atualização do banco dentro do diretório db/migration do projeto SistemaDATABASE definido pelo processo. •  Exemplo do SigEventos: 02/09/15 FlyWay 12
  13. 13. Realizando uma atualização • Nomenclatura padrão dos Scripts do flyway 02/09/15 FlyWay 13
  14. 14. Realizando uma atualização • Configurando a Localização dos Scripts do Flyway 02/09/15 FlyWay 14
  15. 15. Realizando uma atualização • Comando Migrate •  Aplica os scripts que ainda não foram aplicados e atualiza o versionamento do banco de dados 02/09/15 FlyWay 15
  16. 16. Realizando uma atualização • Comando Migrate •  Aplica os scripts que ainda não foram aplicados e atualiza o versionamento do banco de dados 02/09/15 FlyWay 16
  17. 17. Integração com o Gradle • O Flyway é integrado ao Gradle •  É possível rodar o flyway automaticamente a partir de um script do Gradle 02/09/15 FlyWay 17
  18. 18. Integração com o Gradle • O Flyway é integrado ao Gradle •  É possível rodar o flyway automaticamente a partir de um script do Gradle 02/09/15 FlyWay 18
  19. 19. Integração com o Gradle • O Flyway é integrado ao Gradle •  Possibilitando que a aplicação das mudanças no banco sejam realizadas automaticamente sem a intervenção humana. Pode ser colocada dentro de uma task do Gradle que será executa pelo jenkins no job que faz deploy do sistema. •  Mais ainda, para que a migração ocorra, os scripts sqls tem que estar versionados previamente no controle de versão. Se não, o Gradle não vai achar e aplicar. Isso evita a aplicação mudanças no banco sem antes ter versionado o script. 02/09/15 FlyWay 19
  20. 20. Onde saber mais? • http://flywaydb.org/ • http://flywaydb.org/documentation/ • http://flywaydb.org/documentation/ articles.html 02/09/15 FlyWay 20
  21. 21. FlyWay02/09/15 jadsonjs@gmail.com 21

×