DB Guard: до того, как миграция агента попадёт в продакшен

Когда агент пишет миграцию, настоящий вопрос не в том, выполнится ли она, а в том, что она сделает с продакшен-таблицей. DB Guard проверяет изменённые файлы миграций в папке, когда агент заканчивает ход, оценивает риски и при желании пробует миграцию на теневой базе данных внутри транзакции, которая откатывается.

Что он ловит

Проверяются изменённые файлы по путям вроде migrations/, prisma/migrations, db/migrate и Flyway V1__x.sql. Он читает SQL для Postgres, MySQL и SQLite, а также код миграций Rails, Laravel, Django и инструментов в стиле Knex или Sequelize.

  • DROP TABLE и DROP COLUMN, TRUNCATE, UPDATE и DELETE без WHERE.
  • CREATE INDEX без CONCURRENTLY, ALTER TYPE, SET NOT NULL, новые ограничения FK, CHECK и UNIQUE.
  • Миграции без шага отката; RunPython без reverse_code в Django.
  • Уровни риска: none, low, medium, high; потеря данных помечается отдельно.

Реальные размеры таблиц

Выберите одно из подключений вашего менеджера баз данных как «production-like», и будут считаны реальные числа строк, так что риск масштабируется с размером таблицы. Без такого подключения риски оцениваются без знания размеров. Высокий или средний риск, а также потеря данных вызывают уведомление рабочего стола.

Попробовать, проверить, исправить

У каждого отчёта есть кнопки для следующего шага.

  • Try on shadow DB: выполняет миграцию на dev- или staging-подключении внутри транзакции, которая всегда откатывается.
  • Review with Claude: проверка Claude в режиме только чтения.
  • Have the agent make it safe: выводы уходят агенту, написавшему миграцию; если его уже нет, открывается новый агент Claude «DB Guard düzeltme».
  • Analyse SQL: вставьте migration.sql от Prisma, вывод artisan migrate --pretend или manage.py sqlmigrate, чтобы проверить его.

Как настроить

  1. 1

    Откройте вкладку DB Guard на странице Details проекта; автоматическая проверка включена по умолчанию.

  2. 2

    В её настройках выберите production-like подключение для размеров таблиц и теневое подключение для пробных запусков.

  3. 3

    Когда агент пишет миграцию, прочитайте отчёт и попробуйте её на теневой БД или поручите агенту исправить.

Вопросы

Запускает ли он что-нибудь в моей продакшен-базе?

С production-like подключения считываются только размеры таблиц. Пробные запуски проходят на теневом подключении внутри транзакции, которая откатывается.

Какие базы данных поддерживаются?

SQL-анализ охватывает Postgres, MySQL и SQLite; код миграций Rails, Laravel, Django и в стиле Knex тоже читается.

Работает ли это без подключения?

Да. Сканирование работает и без него; тогда риски оцениваются без размеров таблиц, а пробные запуски недоступны.

Связанные возможности

Все возможностиПосмотреть 18 поддерживаемых агентов для кода

Соберите своих агентов за одним столом.

Начните с бесплатного тарифа. Скачайте приложение, добавьте папку проекта и откройте первого агента.