DB Guard : avant que la migration d’un agent n’atteigne la production

Quand un agent écrit une migration, la vraie question n’est pas de savoir si elle s’exécute, mais ce qu’elle fait à la table de production. DB Guard analyse les fichiers de migration modifiés dans le dossier quand un agent termine son tour, évalue les risques et, si vous le souhaitez, essaie la migration sur une base fantôme dans une transaction annulée.

Ce qu’il détecte

Les fichiers modifiés sous des chemins comme migrations/, prisma/migrations, db/migrate et Flyway V1__x.sql sont examinés. Il lit le SQL pour Postgres, MySQL et SQLite, et le code de migration de Rails, Laravel, Django et des outils de type Knex ou Sequelize.

  • DROP TABLE et DROP COLUMN, TRUNCATE, UPDATE et DELETE sans WHERE.
  • CREATE INDEX sans CONCURRENTLY, ALTER TYPE, SET NOT NULL, nouvelles contraintes FK, CHECK et UNIQUE.
  • Migrations sans étape down ; RunPython sans reverse_code dans Django.
  • Niveaux de risque : none, low, medium, high ; la perte de données est signalée séparément.

Vraies tailles de tables

Choisissez l’une des connexions de votre gestionnaire de base de données comme « proche de la production » et les vrais nombres de lignes sont lus, de sorte que le risque dépend de la taille des tables. Sans connexion, les risques sont évalués sans connaître les tailles. Un risque élevé ou moyen, ou une perte de données, déclenche une notification de bureau.

Essayer, relire, corriger

Chaque rapport propose des boutons pour l’étape suivante.

  • Try on shadow DB : exécute la migration sur une connexion de développement ou de staging, dans une transaction toujours annulée.
  • Review with Claude : une relecture Claude en lecture seule.
  • Have the agent make it safe : les constats vont à l’agent qui a écrit la migration ; s’il n’existe plus, un nouvel agent Claude « DB Guard düzeltme » (correction DB Guard) s’ouvre.
  • Analyse SQL : collez un migration.sql de Prisma, la sortie de artisan migrate --pretend ou de manage.py sqlmigrate pour l’analyser.

Comment le configurer

  1. 1

    Ouvrez l’onglet DB Guard de la page Details d’un projet ; la revue automatique est activée par défaut.

  2. 2

    Dans ses paramètres, choisissez une connexion proche de la production pour les tailles de tables et une connexion fantôme pour les essais.

  3. 3

    Quand un agent écrit une migration, lisez le rapport, puis essayez-la sur la base fantôme ou demandez à un agent de la corriger.

Questions

Exécute-t-il quelque chose sur ma base de production ?

Seules les tailles de tables sont lues depuis la connexion proche de la production. Les essais ont lieu sur la connexion fantôme, dans une transaction annulée.

Quelles bases de données sont prises en charge ?

L’analyse SQL couvre Postgres, MySQL et SQLite ; le code de migration de Rails, Laravel, Django et des outils de type Knex est lu aussi.

Ça fonctionne sans connexion ?

Oui. L’analyse fonctionne sans ; les risques sont alors évalués sans tailles de tables et les essais ne sont pas disponibles.

Fonctionnalités liées

Toutes les fonctionnalitésVoir les 18 agents de code pris en charge

Réunissez vos agents sur un seul bureau.

Commencez avec le forfait gratuit. Téléchargez l’application, ajoutez un dossier de projet et ouvrez votre premier agent.