Есть ли способ выполнить автоматическую миграцию, когда это необходимо, с помощью библиотеки Room Persistance в Android? Например, миграция Django, когда вы просто выполняете makemigrations
и migrate
, и она автоматически мигрирует. Он также увеличивает версию базы данных. И если есть миграция, которую он не может выполнить, он говорит/предлагает вам, как это сделать.
Автоматическая миграция Android Room?
Ответы (2)
Room автоматически запускает миграции; нет возможности сделать это вручную, кроме запуска тестов. Для этого Room использует стандартный движок SQLiteOpenHelper
, поэтому он также автоматически обрабатывает отслеживание версий схемы.
Room не создает автоматически Migration
классов с кодом переноса; вы должны написать их сами.
person
CommonsWare
schedule
19.10.2017
Как жаль... Надеюсь, в будущем эту функцию добавят, чтобы было так же просто, как в Django.
- person Kev; 15.04.2018
Если вы смотрите на это в 2021 году, реализация комнаты Android выше 2.4.0-alpha01 теперь поддерживает автоматические миграции. Дополнительная информация здесь: https://developer.android.com/training/data-storage/room/migrating-db-versions
person
Vytenis Bučius
schedule
19.07.2021