AI написал миграцию БД: что проверить до запуска

Разделите изменение схемы, перенос данных и совместимость работающего приложения. Успешный запуск миграции на пустой базе не доказывает безопасность для заполненной рабочей системы.

Где появляется ошибка

В заказ добавляют обязательное поле currency. Агент создаёт столбец NOT NULL без значения для старых записей. На новой тестовой базе всё хорошо, на рабочей миграция падает. Другой вариант хуже: агент молча записывает одну валюту всем заказам, хотя исторические данные были разными. Технический default не заменяет решение о смысле старых значений.

Рабочее решение

Согласуйте источник исторической валюты и поведение при неизвестном значении. Обычно полезно разнести совместимое добавление поля, заполнение данных и ужесточение ограничений; конкретный порядок зависит от СУБД и способа выкладки. Проверьте объём блокировок и длительность на репрезентативной копии. Не просите агента «откатить всё» без разбора: обратная миграция может потерять новые данные. До изменения определите процедуру восстановления и владельца решения.

Контрольные случаи

ПроверкаОжидаемое поведение
Копия базы со старыми заказами без валютыДля каждой категории данных есть согласованное правило заполнения или явный список исключений.
Старая версия приложения во время переходаЧтение и запись продолжают работать на промежуточной схеме в пределах выбранной стратегии выкладки.
Ошибка посередине переноса данныхПонятно, что уже применено, как повторить шаг и как сохранить появившиеся после начала изменения записи.

Проверьте, кто читает таблицу кроме основного приложения: выгрузки и фоновые задания тоже могут зависеть от старой схемы. Локальный поиск по одному сервису не показывает всех потребителей данных.

Это схема проверки, а не универсальная миграция для любой СУБД. Детали транзакций, блокировок и изменения ограничений необходимо проверять по документации вашей базы и версии.

AI помогает подготовить миграцию, но приёмка изменения данных требует понимания контракта и эксплуатационных рисков. В платном курсе Vibecoding: Claude Code, Codex, Cursor и agentic development можно продолжить изучение соответствующего инженерного направления. Перед покупкой сравните программу и открытые материалы со своей задачей.

Документация для проверки технических деталей: Документация git diff.

Следующий шаг: AI-разработка: разборы ошибок, изменений и проверки кода. По смежным вопросам: AI написал тесты из моков: что они действительно проверяют, AI написал async-код, но сервер зависает: проверьте блокирующие вызовы.