TGViewer
Всё о разработке | Леонид Ченский Всё о разработке | Леонид Ченский @leoscode · 731 subscribers
Post #155 754
Вот вам задачка на воскресное утро ☀️

👩‍💻 Тонкости миграций Postgres: как сделать поле явно NOT NULL и не уронить базу?

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

В этой таблице есть колонка foo_field, которая изначально NULLABLE, но фактически мы всегда туда пишем значение. И вот мы хотим сделать её явно NOT NULL.

Разработчик предлагает следующую миграцию:

0001_migration.sql:

BEGIN;

ALTER TABLE some_big_table
ADD CONSTRAINT some_big_table_foo_field_not_null
CHECK (foo_field IS NOT NULL) NOT VALID;

ALTER TABLE some_big_table
VALIDATE CONSTRAINT some_big_table_foo_field_not_null;

COMMIT;


Ваш вердикт на ревью?

Поставьте реакцию 👍 — если считаете миграцию верной, 🤡 — если не верной.
______________________

Ответ будет в следующем посте
  • 🤡 21
  • 👍 5
  • 🔥 2
  • 👀 1
More from @leoscode
  1. Sep 15, 2026Помню как в детстве хотел такого же ассистента как Jarvis у Железного человека. Сейчас буд…
  2. Aug 24, 2026Гипотетическая история Представьте завтра все датацентры «вдруг» перестанут работать. Прив…
  3. Aug 4, 2026"Капризный день"
  4. Jul 17, 2026Пользуюсь случаем, напишу тут: ищу заряжененного Go разработчика к себе в команду. Ссылка…
  5. Jul 14, 2026Утро вторника началось не с кофе… Кто положил, признавайтесь!)
  6. Jul 1, 2026Согласны? 👍 Да 🗿Нет
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →