我用的是安卓2.3.0和Dagger 2。
提供数据库实例的DBModule.kt如下所示:
@Singleton
@Provides
open fun provideDatabase(context: Context): AppDatabase {
return Room.databaseBuilder<AppDatabase>(
context.applicationContext, AppDatabase::class.java,
DATABASE_NAME
).fallbackToDestructiveMigration().build()
}AppDatabase.kt类:
@Database(
entities = [User::class],
version = 1,
exportSchema = false
)
abstract class AppDatabase : RoomDatabase() {
abstract fun userDao(): UserDao
}现在,我需要在用户实体中添加几个新列,并增加db版本。如果没有从AppDatabase.kt访问Room.databaseBuilder的权限,如何在AppDatabase.kt中进行迁移并调用AppDatabase.kt
发布于 2021-12-08 14:31:14
只需在调用DBModule.kt之前将迁移添加到.build()类。
不过,对.fallbackToDestructiveMigration()要小心。
https://stackoverflow.com/questions/70276405
复制相似问题