AI написал миграцию БД: что проверить до запуска
Разделите изменение схемы, перенос данных и совместимость работающего приложения. Успешный запуск миграции на пустой базе не доказывает безопасность для заполненной рабочей системы.
Где появляется ошибка
В заказ добавляют обязательное поле currency. Агент создаёт столбец NOT NULL без значения для старых записей. На новой тестовой базе всё хорошо, на рабочей миграция падает. Другой вариант хуже: агент молча записывает одну валюту всем заказам, хотя исторические данные были разными. Технический default не заменяет решение о смысле старых значений.
Рабочее решение
Согласуйте источник исторической валюты и поведение при неизвестном значении. Обычно полезно разнести совместимое добавление поля, заполнение данных и ужесточение ограничений; конкретный порядок зависит от СУБД и способа выкладки. Проверьте объём блокировок и длительность на репрезентативной копии. Не просите агента «откатить всё» без разбора: обратная миграция может потерять новые данные. До изменения определите процедуру восстановления и владельца решения.
Контрольные случаи
| Проверка | Ожидаемое поведение |
|---|---|
| Копия базы со старыми заказами без валюты | Для каждой категории данных есть согласованное правило заполнения или явный список исключений. |
| Старая версия приложения во время перехода | Чтение и запись продолжают работать на промежуточной схеме в пределах выбранной стратегии выкладки. |
| Ошибка посередине переноса данных | Понятно, что уже применено, как повторить шаг и как сохранить появившиеся после начала изменения записи. |
Проверьте, кто читает таблицу кроме основного приложения: выгрузки и фоновые задания тоже могут зависеть от старой схемы. Локальный поиск по одному сервису не показывает всех потребителей данных.
Это схема проверки, а не универсальная миграция для любой СУБД. Детали транзакций, блокировок и изменения ограничений необходимо проверять по документации вашей базы и версии.
AI помогает подготовить миграцию, но приёмка изменения данных требует понимания контракта и эксплуатационных рисков. В платном курсе Vibecoding: Claude Code, Codex, Cursor и agentic development можно продолжить изучение соответствующего инженерного направления. Перед покупкой сравните программу и открытые материалы со своей задачей.
Документация для проверки технических деталей: Документация git diff.
Следующий шаг: AI-разработка: разборы ошибок, изменений и проверки кода. По смежным вопросам: AI написал тесты из моков: что они действительно проверяют, AI написал async-код, но сервер зависает: проверьте блокирующие вызовы.
