You are on page 1of 21

Jadson Santos

Computer Engineer

02/09/15 FlyWay 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 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 .

•  Se existem mais de 1 esquema essa tabela fica no primeiro esquema configurado .02/09/15 FlyWay 4 Flyway •  Por padrão essa tabela é chamada de schema_version.

02/09/15 FlyWay 5 Instalação •  Passo 1 •  Apenas descompactar o flyway.zip em um diretório de sua preferência .

02/09/15 FlyWay 6 Instalação •  Passo 2 •  Editar o arquivo de configuração do flyway .

02/09/15 FlyWay 7 Instalação •  Passo 2 •  Editar o arquivo de configuração do flyway colocando as configurações do banco .

02/09/15 FlyWay 8 Funcionamento •  Comando Info •  Mostra o status do versionamento do banco •  Ps.: O flyway chama o versionamento de “migration” .

02/09/15 FlyWay 9 Funcionamento •  Comando Validate •  Valida se todos os sqls foram corretamente aplicados .

02/09/15 FlyWay 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 11 Funcionamento •  Comando BaseLine •  Tabela de versionamento do banco criada: .

02/09/15 FlyWay 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 13 Realizando uma atualização •  Nomenclatura padrão dos Scripts do flyway .

02/09/15 FlyWay 14 Realizando uma atualização •  Configurando a Localização dos Scripts do Flyway .

02/09/15 FlyWay 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 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 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 18 Integração com o Gradle •  O Flyway é integrado ao Gradle •  É possível rodar o flyway automaticamente a partir de um script do Gradle .

•  Mais ainda. Pode ser colocada dentro de uma task do Gradle que será executa pelo jenkins no job que faz deploy do sistema. Se não. para que a migração ocorra. . o Gradle não vai achar e aplicar.02/09/15 FlyWay 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. Isso evita a aplicação mudanças no banco sem antes ter versionado o script. os scripts sqls tem que estar versionados previamente no controle de versão.

org/ •  http://flywaydb.org/documentation/ articles.02/09/15 FlyWay 20 Onde saber mais? •  http://flywaydb.org/documentation/ •  http://flywaydb.html .

com .02/09/15 FlyWay 21 jadsonjs@gmail.