evoluindo bancos de dados com flyway

Post on 12-Jul-2015

405 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Evoluindo Bancos de Dados

com FlywayE uma alternativa ao uso do banco de dados

centralizado.

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)

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.

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.

Como funciona

Como funciona

Como funciona

Como funciona

Como funciona

Configurando o projeto

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

Exemplo de script SQL

V2014.07.02_211022__cria_tabela_de_usuarios.sql

Executando o 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

Dúvidas?

Vitor Albuquerquevitor.rcca@gmail.com

@vrcca

top related