Questão de Banco de Dados — Versionamento e Migração de Banco de Dados — CESPE / CEBRASPE 2024
Banco de Dados›Versionamento e Migração de Banco de Dados
Código
ce403663
Banca
CESPE / CEBRASPE
Órgão
STJ
Ano
2024
Cargo
AJ
Em relação à linguagem de programação Java, à arquitetura distribuída de microsserviços e à biblioteca Flyway, julgue os próximos itens
A solução Flyway permite que seja realizado o controle de versão de código de banco de dados, estendendo o DevOps aos bancos de dados de modo a permitir que se acompanhem as alterações e se aprimore a confiabilidade das implantações de software.
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoC — Certo
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Flyway e o Controle de Versão de Banco de Dados
Gabarito: Certo. A afirmação está correta: o Flyway é uma ferramenta de migração de banco de dados que permite versionar o esquema do banco, integrando-se ao pipeline de DevOps e aumentando a confiabilidade das implantações. A descrição apresentada no item corresponde exatamente à proposta da ferramenta.
O Flyway é uma ferramenta de código aberto que automatiza o gerenciamento de mudanças estruturais em bancos de dados relacionais. Em vez de aplicar scripts SQL manualmente, o desenvolvedor cria scripts de migração versionados (ex.: V1__criar_tabela.sql, V2__adicionar_coluna.sql) e o Flyway os aplica na ordem correta, registrando cada migração executada em uma tabela de histórico (geralmente flyway_schema_history). Isso garante que o banco de dados esteja sempre em um estado consistente e que as alterações sejam rastreáveis.
O conceito de "estender o DevOps aos bancos de dados" é central: assim como o código-fonte é versionado com Git, o esquema do banco também passa a ser versionado. Isso permite que as equipes de desenvolvimento e operações trabalhem de forma integrada, aplicando mudanças de forma automatizada e confiável em diferentes ambientes (desenvolvimento, homologação, produção). A confiabilidade aumenta porque as migrações são testadas e aplicadas de forma padronizada, reduzindo erros manuais e inconsistências.
Na prática, um fluxo típico com Flyway envolve: (1) escrever o script de migração; (2) executar o Flyway, que verifica a versão atual do banco e aplica as migrações pendentes; (3) o Flyway registra a migração executada, impedindo que seja reaplicada. Isso é especialmente útil em arquiteturas de microsserviços, onde cada serviço pode ter seu próprio banco de dados e precisa de um controle de versão independente.
A pegadinha desta questão é que ela mistura vários temas (Java, microsserviços, Flyway) e o candidato pode se confundir achando que o Flyway é uma ferramenta de versionamento de código-fonte (como Git) ou de orquestração de contêineres (como Kubernetes). Mas o Flyway é especificamente uma ferramenta de migração de banco de dados, e a descrição do item é fiel a essa função.
1Criar script de migração
2Executar Flyway
3Aplica pendentes em ordem
4Registra na tabela de histórico
LEVEL · soulevel.com.br
NÃO CAIA NESSA!
A banca pode tentar confundir o Flyway com outras ferramentas de versionamento ou com o próprio Git. Lembre-se: o Flyway versiona o esquema do banco de dados, não o código-fonte da aplicação. A descrição do item fala exatamente disso — "controle de versão de código de banco de dados" — e é isso que o torna correto.
✅ CERTO — A afirmação está correta e reflete a função real do Flyway.