evoluindo bancos de dados com flyway

15
Evoluindo Bancos de Dados com Flyway E uma alternativa ao uso do banco de dados centralizado.

Upload: vitor-albuquerque

Post on 12-Jul-2015

405 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Evoluindo bancos de dados com Flyway

Evoluindo Bancos de Dados

com FlywayE uma alternativa ao uso do banco de dados

centralizado.

Page 2: Evoluindo bancos de dados com Flyway

O que é o Flyway?

•Ferramenta de migração de banco de dados•Integra-se com Maven, Ant, Gradle, etc.•Funciona com os scripts SQL existentes•Compatível com vários BDs•Possui Java API•Disponível para Android•Open source (https://github.com/flyway/flyway)

Page 3: Evoluindo bancos de dados com Flyway

Motivação

•Mudanças constantes no banco de dados.•Interrupção do desenvolvimento por mudanças no BD.•Scripts SQL se perdiam até chegar em produção.•Versionamento e ordenação dos scripts.•Constante recriação manual do banco de dados em ambientes diferentes (desenv, test, etc). •Desenvolvedores utilizando registros de outros.

Page 4: Evoluindo bancos de dados com Flyway

Como o Flyway resolve estes problemas?

•Scripts passam a ficar na pasta "código" ao invés de "documentos" no SCM.•Flyway se encarrega de recriar ou atualizar o banco de dados.•Desenvolvedores devem criar o script de mudança na ordem correta.•Viabiliza a utilização de um banco por desenvolvedor.•Viabiliza a entrega contínua.

Page 5: Evoluindo bancos de dados com Flyway

Como funciona

Page 6: Evoluindo bancos de dados com Flyway

Como funciona

Page 7: Evoluindo bancos de dados com Flyway

Como funciona

Page 8: Evoluindo bancos de dados com Flyway

Como funciona

Page 9: Evoluindo bancos de dados com Flyway

Como funciona

Page 10: Evoluindo bancos de dados com Flyway

Configurando o projeto

Page 11: Evoluindo bancos de dados com Flyway

Programação por Convenção

Formatos aceitos:

•1

•001

•5.2

•5_2 (5.2 at runtime)

•1.2.3.4.5.6.7.8.9

•205.68

•20130115113556

•2013.1.15.11.35.56

•2013.01.15.11.35.56

Page 12: Evoluindo bancos de dados com Flyway

Exemplo de script SQL

V2014.07.02_211022__cria_tabela_de_usuarios.sql

Page 13: Evoluindo bancos de dados com Flyway

Executando o Flyway

Page 14: Evoluindo bancos de dados com Flyway

Alternativa ao banco de dados centralizado

•Cada desenvolvedor com seu banco de dados.•Scripts são validados em vários ambientes antes de ir para homologação e produção.•Mudanças no banco não afetam a equipe inteira.•Desenvolvedores poderão mudar de branch ou versão sem necessidade de uma solicitação de criação de banco de dados.•Problemas de rede e conexão não afetarão mais o desenvolvimento.•Viabiliza o home office! ;D

Page 15: Evoluindo bancos de dados com Flyway

Dúvidas?

Vitor [email protected]

@vrcca