Вступить в клуб →
лёгкаявопросPostgreSQL, ORM и кэш Redis

Изменение схемы БД: миграция в репозитории против ручного ALTER

Для новой фичи нужно добавить колонку orders.promo_code. Коллега предлагает: «Быстрее всего зайти на прод и выполнить ALTER TABLE, а в репозитории просто поправить модель ORM».

Почему в командной разработке так не делают?

  • Потому что PostgreSQL не позволяет менять схему на работающей базе: `ALTER TABLE` требует остановки приложения
  • Потому что ORM при старте сама приводит схему базы к описанным моделям, и ручное изменение будет затёрто на деплое
  • Потому что изменения базы и кода должны выезжать разными релизами, иначе их нельзя откатывать по отдельности
  • Потому что ручное изменение нигде не зафиксировано: его не воспроизвести на других стендах и не связать с релизом кода

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

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

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

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