Обновить

Комментарии 3

А в базе это уже конкретная DDL-операция с блокировками, перепроверкой данных и неприятным вопросом: “а сколько строк в Orders?”

Начиная с 11 постгреса (уже 8 лет) используется fast default, когда данные о значении по умолчанию пишутся в метадату таблицы в колонку pg_attribute.attmissingval. Это всё ещё требует эксклюзивной блокировки, но никакой проверки на количество строк в Orders нет. Таблица вообще не трогается.

С Database.Migrate() на локалке всё красиво, а в проде начинается совсем другая история. Особенно знакомая боль, когда одна маленькая миграция внезапно превращается в долгие блокировки и нервный просмотр логов. Разделять миграции и запуск приложения действительно намного спокойнее.

Солидарен с вами

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации