Выбор ответа Senior Тестирование БД через SQL обновлено

Тестирование миграции

Вопрос

Команда выкатывает миграцию: колонку phone делают NOT NULL. Что важнее всего проверить до релиза?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Поведение на данных как в проде: есть ли NULL, сколько займёт, не будет ли блокировки. На пустой базе любая миграция проходит.

Варианты ответа

  1. Поведение на данных как в проде: есть ли NULL, сколько займёт, не будет ли блокировкиправильный ответ
  2. Что миграция проходит на пустой базе разработчика и откатывается обратно без ошибок и предупреждений
  3. Что приложение собирается и стартует с новой схемой на тестовом стенде
  4. Что в коде и в ORM-модели поле phone помечено обязательным

Разбор

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

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме