Выбор ответа Senior Room и хранение данных обновлено

fallbackToDestructiveMigration

Вопрос

Когда допустимо использовать fallbackToDestructiveMigration()?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Когда база это кеш данных с сервера, которые можно перезагрузить. Деструктивная миграция удаляет все таблицы и создаёт схему заново.

Варианты ответа

  1. В любом проекте: это рекомендуемый Google способ миграций без лишнего кода
  2. Когда в базе черновики и заметки пользователя, которые легко создать заново
  3. Когда база это кеш данных с сервера, которые можно перезагрузитьправильный ответ
  4. В release-сборках, а в debug использовать явные миграции для проверки

Разбор

Деструктивная миграция удаляет все таблицы и создаёт схему заново. Для кеша ленты это приемлемо: данные снова придут из сети. Для данных, которые существуют только на устройстве (заметки, черновики, неотправленные изменения), это потеря данных пользователя. Рекомендованный способ это явные миграции или автомиграции с тестами.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.