Pular para o conteúdo principal

Questão de Banco de Dados — Versionamento e Migração de Banco de Dados — CESPE / CEBRASPE 2024

Banco de DadosVersionamento 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.

  1. CCerto
  2. 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.

  1. 1Criar script de migração
  2. 2Executar Flyway
  3. 3Aplica pendentes em ordem
  4. 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.

Gabarito: Certo.

Link permanente: /questoes/ce403663