Зачем три шага миграции для json? Я просто в десериализаторе укажу default value - и все. В любом случае мне не нужно будет "добавлять колонку", "менять тип колонки на not null"
потому что корзина и продукт это разные таблицы и изменение то происходит в таблице с продуктом и в случае jsonb мне придется это еще и табличку с корзиной тащить
Ну, на самом деле ты ровно один раз пишешь код миграции вида: по всем id, пачками по 1000 штук, прочитать пачку старой версии, обновить поля, записать пачку, сохранить смещение.
Вот тут уже не понял. У тебя таблица с продуктами, таблица с корзиной. Нужно добавить поле в продукт. Я не понимаю, зачем идти в корзину для сценария с jsonb