DB Guard: bevor die Migration eines Agents in die Produktion gelangt

Schreibt ein Agent eine Migration, ist die eigentliche Frage nicht, ob sie läuft, sondern was sie mit der Produktionstabelle macht. DB Guard scannt geänderte Migrationsdateien im Ordner, wenn ein Agent seinen Turn beendet, bewertet die Risiken und probiert die Migration auf Wunsch auf einer Shadow-Datenbank in einer Transaktion aus, die zurückgerollt wird.

Was erkannt wird

Geprüft werden geänderte Dateien unter Pfaden wie migrations/, prisma/migrations, db/migrate und Flyway V1__x.sql. Gelesen wird SQL für Postgres, MySQL und SQLite sowie Migrationscode für Rails, Laravel, Django und Tools im Stil von Knex oder Sequelize.

  • DROP TABLE und DROP COLUMN, TRUNCATE, UPDATE und DELETE ohne WHERE.
  • CREATE INDEX ohne CONCURRENTLY, ALTER TYPE, SET NOT NULL, neue FK-, CHECK- und UNIQUE-Constraints.
  • Migrationen ohne Down-Schritt; RunPython ohne reverse_code in Django.
  • Risikostufen: none, low, medium, high; Datenverlust wird gesondert markiert.

Echte Tabellengrößen

Wähle eine deiner Verbindungen im Datenbank-Manager als „production-like“, dann werden echte Zeilenzahlen gelesen und das Risiko skaliert mit der Tabellengröße. Ohne eine solche Verbindung werden Risiken ohne Kenntnis der Größen bewertet. Hohes oder mittleres Risiko oder Datenverlust löst eine Desktop-Benachrichtigung aus.

Testen, prüfen, beheben

Jeder Bericht hat Buttons für den nächsten Schritt.

  • Try on shadow DB: führt die Migration auf einer Entwicklungs- oder Staging-Verbindung in einer Transaktion aus, die immer zurückgerollt wird.
  • Review with Claude: ein schreibgeschütztes Claude-Review.
  • Have the agent make it safe: die Befunde gehen an den Agent, der die Migration geschrieben hat; ist er weg, öffnet sich ein neuer Claude-Agent „DB Guard düzeltme“.
  • Analyse SQL: füge eine Prisma-migration.sql, die Ausgabe von artisan migrate --pretend oder manage.py sqlmigrate ein, um sie zu prüfen.

So richtest du es ein

  1. 1

    Öffne den Tab „DB Guard“ auf der Details-Seite eines Projekts; die automatische Prüfung ist standardmäßig an.

  2. 2

    Wähle in den Einstellungen eine production-like Verbindung für die Tabellengrößen und eine Shadow-Verbindung für Testläufe.

  3. 3

    Wenn ein Agent eine Migration schreibt, lies den Bericht und teste sie auf der Shadow-DB oder lass einen Agent sie beheben.

Fragen

Führt es etwas auf meiner Produktionsdatenbank aus?

Von der production-like Verbindung werden nur Tabellengrößen gelesen. Testläufe passieren auf der Shadow-Verbindung, in einer Transaktion, die zurückgerollt wird.

Welche Datenbanken werden unterstützt?

Die SQL-Analyse deckt Postgres, MySQL und SQLite ab; auch Migrationscode im Stil von Rails, Laravel, Django und Knex wird gelesen.

Funktioniert es ohne Verbindung?

Ja. Das Scannen klappt ohne; Risiken werden dann ohne Tabellengrößen bewertet und Testläufe sind nicht verfügbar.

Verwandte Funktionen

Alle FunktionenDie 18 unterstützten Coding-Agenten ansehen

Hol deine Agenten an einen Schreibtisch.

Starte mit dem kostenlosen Tarif. Lade die App herunter, füge einen Projektordner hinzu und öffne deinen ersten Agenten.