Sobes.tech
Junior — Middle
82

Room схемасы өзгерген кезде автоматты дерекқор жаңартуларын қолдауын қамтамасыз ете ме?

Сұралған компаниялар
Joy Dev

AI-дан жауап

sobes.tech AI

Room не обеспечивает автоматическую миграцию базы данных при изменениях схемы. Если вы изменяете структуру базы (например, добавляете или удаляете столбцы), необходимо явно описать миграции с помощью объекта Migration. Без этого приложение при запуске с новой схемой и старой версией базы вызовет ошибку.

Пример миграции:

val MIGRATION_1_2 = object : Migration(1, 2) {
    override fun migrate(database: SupportSQLiteDatabase) {
        database.execSQL("ALTER TABLE users ADD COLUMN age INTEGER DEFAULT 0 NOT NULL")
    }
}

val db = Room.databaseBuilder(context, AppDatabase::class.java, "db-name")
    .addMigrations(MIGRATION_1_2)
    .build()

Таким образом, разработчик отвечает за создание и применение миграций при изменении схемы.