DB Guard: antes que a migration de um agente chegue à produção

Quando um agente escreve uma migration, a pergunta real não é se ela roda, e sim o que ela faz com a tabela de produção. O DB Guard analisa os arquivos de migration alterados na pasta quando um agente termina o turno, avalia os riscos e, se você quiser, testa a migration em um banco sombra dentro de uma transação que é desfeita.

O que ele pega

São verificados os arquivos alterados em caminhos como migrations/, prisma/migrations, db/migrate e Flyway V1__x.sql. Ele lê SQL de Postgres, MySQL e SQLite, e código de migration de Rails, Laravel, Django e ferramentas no estilo Knex ou Sequelize.

  • DROP TABLE e DROP COLUMN, TRUNCATE, UPDATE e DELETE sem WHERE.
  • CREATE INDEX sem CONCURRENTLY, ALTER TYPE, SET NOT NULL, novas constraints FK, CHECK e UNIQUE.
  • Migrations sem passo de down; RunPython sem reverse_code no Django.
  • Níveis de risco: nenhum, baixo, médio, alto; perda de dados é sinalizada à parte.

Tamanhos reais das tabelas

Escolha uma das conexões do seu gerenciador de banco de dados como “production-like” (parecida com produção) e as contagens reais de linhas são lidas, então o risco cresce com o tamanho da tabela. Sem ela, os riscos são avaliados sem saber os tamanhos. Risco alto ou médio, ou perda de dados, dispara uma notificação na área de trabalho.

Testar, revisar, corrigir

Todo relatório tem botões para o próximo passo.

  • Testar no banco sombra: roda a migration em uma conexão de desenvolvimento ou staging dentro de uma transação que é sempre desfeita.
  • Revisar com o Claude: uma revisão do Claude somente leitura.
  • Pedir ao agente para deixá-la segura: os achados vão para o agente que escreveu a migration; se ele não existir mais, abre um novo agente Claude “DB Guard düzeltme” (correção do DB Guard).
  • Analisar SQL: cole a saída de um migration.sql do Prisma, de artisan migrate --pretend ou de manage.py sqlmigrate para checar.

Como configurar

  1. 1

    Abra a aba DB Guard na página Details de um projeto; a revisão automática vem ativada por padrão.

  2. 2

    Nas configurações dele, escolha uma conexão parecida com produção para os tamanhos das tabelas e uma conexão sombra para os testes.

  3. 3

    Quando um agente escrever uma migration, leia o relatório e teste no banco sombra ou peça a um agente para corrigir.

Perguntas

Ele roda alguma coisa no meu banco de produção?

Só os tamanhos das tabelas são lidos da conexão parecida com produção. Os testes acontecem na conexão sombra, dentro de uma transação que é desfeita.

Quais bancos são suportados?

A análise de SQL cobre Postgres, MySQL e SQLite; código de migration de Rails, Laravel, Django e no estilo Knex também é lido.

Funciona sem uma conexão?

Sim. A análise funciona sem ela; os riscos são avaliados sem os tamanhos das tabelas e os testes não ficam disponíveis.

Recursos relacionados

Todos os recursosVeja os 18 agentes de código suportados

Reúna seus agentes em uma só mesa.

Comece no plano gratuito. Baixe, adicione a pasta de um projeto e abra seu primeiro agente.