Pull to refresh

Comments 6

UFO just landed and posted this here

А мы обычно так делаем

  • Добавляем поля, nullable или со значением по умолчанию

  • Релизим код который одновременно пишет в новые и старые поля, но читает только старые

  • Копируем данные

  • Релизим код который читает новые поля

  • Проверяем, что старые поля имеют значение по умолчанию или nullable

  • Если проблем нет, то релизим код который ничего уже не знает про старые поля

  • Удаляем старые поля

Мне кажется в статье не совсем правильно: переключатель должен включать запись новых, но не выключать запись старых.

Всю статью можно свернуть до 3 пункктов

  1. Пишите данные и в новом формате и в старом

  2. Скопируйте все старое в новое

  3. Переключите чтение на новый формат

Переезд де факто завершен. Осталось только убрать за собой: Подождать недели две, отключить запись в старом формате и убрать за собой.

Если нужен замороченный flow с одновременной поддержкой старой и новой моделей:

  • создаете новую таблицу

  • мигрируете данные со старой

  • синхронизацию изменений реализуете при помощи триггеров

  • следующий апдейт дропает старую таблу и триггеры

Sign up to leave a comment.

Articles