Jadson Santos
Computer Engineer
Contextualização
• Nós estamos craques em resolver o
problema de versionamento do código
fonte. (SVN, GIT, branches, tags,...
Flyway
• Como o flyway funciona?
•  O flyway cria e gerencia uma tabela de meta
dados no banco de dados
•  A cada script a...
Flyway
• Por padrão essa tabela é chamada de
schema_version.
• Se existem mais de 1 esquema essa tabela
fica no primeiro e...
Instalação
• Passo 1
•  Apenas descompactar o flyway.zip em um diretório de sua
preferência
02/09/15 FlyWay 5
Instalação
• Passo 2
•  Editar o arquivo de configuração do flyway
02/09/15 FlyWay 6
Instalação
• Passo 2
•  Editar o arquivo de configuração do flyway colocando as
configurações do banco
02/09/15 FlyWay 7
Funcionamento
• Comando Info
•  Mostra o status do versionamento do banco
•  Ps.: O flyway chama o versionamento de “migra...
Funcionamento
• Comando Validate
•  Valida se todos os sqls foram corretamente aplicados
02/09/15 FlyWay 9
Funcionamento
• Comando BaseLine
•  Aplica todas as mudanças e marca um ponto estável
•  Exemplo de aplicação: A cada vers...
Funcionamento
• Comando BaseLine
•  Tabela de versionamento do banco criada:
02/09/15 FlyWay 11
Realizando uma atualização
• Localização dos Scripts
•  Colocar os scripts de atualização do banco dentro do
diretório db/...
Realizando uma atualização
• Nomenclatura padrão dos Scripts do flyway
02/09/15 FlyWay 13
Realizando uma atualização
• Configurando a Localização dos Scripts do
Flyway
02/09/15 FlyWay 14
Realizando uma atualização
• Comando Migrate
•  Aplica os scripts que ainda não foram aplicados e
atualiza o versionamento...
Realizando uma atualização
• Comando Migrate
•  Aplica os scripts que ainda não foram aplicados e
atualiza o versionamento...
Integração com o Gradle
• O Flyway é integrado ao Gradle
•  É possível rodar o flyway automaticamente a partir
de um scrip...
Integração com o Gradle
• O Flyway é integrado ao Gradle
•  É possível rodar o flyway automaticamente a partir
de um scrip...
Integração com o Gradle
• O Flyway é integrado ao Gradle
•  Possibilitando que a aplicação das mudanças no
banco sejam rea...
Onde saber mais?
• http://flywaydb.org/
• http://flywaydb.org/documentation/
• http://flywaydb.org/documentation/
articles...
FlyWay02/09/15
jadsonjs@gmail.com
21
Próximos SlideShares
Carregando em…5
×

Introdução ao Flyway

650 visualizações

Publicada em

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

Publicada em: Software
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

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

×