Вступить в клуб →
лёгкаявопросSQL и проверка интеграций по API

Нашли строку с неверным статусом на проде: почему не стоит чинить её UPDATE-ом

В боевой базе вы нашли заказ, у которого статус «оплачен», хотя платежа по нему нет. Есть соблазн быстро исправить данные:

UPDATE orders SET status = 'new' WHERE id = 90124;

Почему такое исправление силами поддержки — плохая идея?

  • Потому что UPDATE без явной транзакции всегда откатывается и данные в таблице в итоге останутся прежними
  • Потому что UPDATE по одной строке слишком долго выполняется на большой таблице и заблокирует её целиком
  • Потому что менять данные допустимо только через графический клиент вроде DBeaver, а не из консольного psql
  • Потому что правка мимо приложения не запускает связанную логику — события, историю, интеграции — и маскирует причину

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела