ИИДля
← Назад
Практика / CODE · 04.11.2026 · 19:05

ИИ для миграции SQL: как подготовить изменение схемы и план отката

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

Антон ЛевинРедактор инструментов и кода
Редакционная иллюстрация к материалу «ИИ для миграции SQL: как подготовить изменение схемы и план отката»
Авторская иллюстрация редакции «ИИ Для»
Суть задачи

Начните с состояния базы

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

Что подготовить

Пусть ИИ предложит варианты, а не одну команду

Запросите минимум два маршрута: добавление nullable-поля с последующим заполнением и переходом к ограничению либо отдельное поле с постепенным переключением приложения. Для каждого маршрута нужны шаги, предпосылки, риск блокировки и способ остановиться. Если новая версия кода и старая некоторое время работают вместе, проверьте совместимость записи и чтения. Нельзя принимать ответ «просто добавьте NOT NULL», пока не ясно, как поступить со старыми заказами. Похожая дисциплина нужна при проверке диапазонов отчёта: красивый итог не заменяет исходные данные.

Рабочий маршрут

Репетиция на отдельной копии

В тестовой среде используйте сопоставимый объём и распределение данных, а не пустую таблицу. Сначала проверьте резервную копию и возможность восстановления. Выполните миграцию, измерьте время и посмотрите план запросов после создания индекса. Затем проверьте число строк, долю пустых статусов, несколько краевых случаев и основные пользовательские операции. Если нужен откат, различайте отмену кода и отмену изменения данных: удаление нового столбца может уничтожить уже записанную информацию.

Контроль качества

Протокол запуска и ответы

Запишите исполнителя, время окна, контрольные запросы до и после, порог остановки и контакт ответственного за базу. При несоответствии количества записей дальнейшие команды не запускают. Можно ли попросить ИИ выполнить миграцию самому? Нет: доступ к рабочей базе и подтверждение каждого шага остаются у команды. Достаточно ли успешной сборки приложения? Нет: она не проверяет реальные блокировки и старые данные. Для проверки объяснений модели полезен разбор ревью кода и зависимостей.

Перед использованием

Короткая проверка

  • Понятны цель и человек, который примет результат.
  • Исходники очищены, их версия и дата сохранены.
  • Факты, числа и ограничения сверены вручную.
  • Неудачный пример записан вместе с причиной.
  • Есть измеримый следующий шаг и путь назад.
Продолжить тему

Другие материалы этого направления