Top Banner
Jadson Santos Computer Engineer
21

Introdução ao Flyway

Feb 16, 2017

Download

Software

JADSON SANTOS
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introdução ao Flyway

Jadson Santos Computer Engineer

Page 2: Introdução ao Flyway

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

Page 3: Introdução ao Flyway

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

Page 4: Introdução ao Flyway

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

Page 5: Introdução ao Flyway

Instalação • Passo 1

•  Apenas descompactar o flyway.zip em um diretório de sua preferência

02/09/15 FlyWay 5

Page 6: Introdução ao Flyway

Instalação • Passo 2

•  Editar o arquivo de configuração do flyway

02/09/15 FlyWay 6

Page 7: Introdução ao Flyway

Instalação • Passo 2

•  Editar o arquivo de configuração do flyway colocando as configurações do banco

02/09/15 FlyWay 7

Page 8: Introdução ao Flyway

Funcionamento • Comando Info

•  Mostra o status do versionamento do banco •  Ps.: O flyway chama o versionamento de “migration”

02/09/15 FlyWay 8

Page 9: Introdução ao Flyway

Funcionamento • Comando Validate

•  Valida se todos os sqls foram corretamente aplicados

02/09/15 FlyWay 9

Page 10: Introdução ao Flyway

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

Page 11: Introdução ao Flyway

Funcionamento • Comando BaseLine

•  Tabela de versionamento do banco criada:

02/09/15 FlyWay 11

Page 12: Introdução ao Flyway

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

Page 13: Introdução ao Flyway

Realizando uma atualização • Nomenclatura padrão dos Scripts do flyway

02/09/15 FlyWay 13

Page 14: Introdução ao Flyway

Realizando uma atualização • Configurando a Localização dos Scripts do Flyway

02/09/15 FlyWay 14

Page 15: Introdução ao Flyway

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

Page 16: Introdução ao Flyway

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

Page 17: Introdução ao Flyway

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

Page 18: Introdução ao Flyway

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

Page 19: Introdução ao Flyway

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

Page 20: Introdução ao Flyway

Onde saber mais?

• http://flywaydb.org/

• http://flywaydb.org/documentation/

• http://flywaydb.org/documentation/articles.html

02/09/15 FlyWay 20

Page 21: Introdução ao Flyway

FlyWay 02/09/15

[email protected]

21