【发布时间】:2021-06-04 22:15:16
【问题描述】:
我正在为我的数据库使用 Android 中的 Room。最近我不得不为我的主数据库创建一个备用数据库,所以现在我有 2 个数据库。
abstract class FirstDatabase : RoomDatabase()
abstract class ScondDatabase : RoomDatabase()
我在FirstDataBase 中有一个表,我想将它复制到SecondDataBase。我知道我应该写迁移,但我不知道我应该怎么做。
这是我目前用匕首换房间的迁移:
fun provideDatabaseMigration56(): Migration {
return object : Migration(DATABASE_VERSION_5, DATABASE_VERSION_6) {
override fun migrate(database: SupportSQLiteDatabase) {
database.execSQL("DROP TABLE IF EXISTS `pins`")
}
}
}
fun provideDatabaseMigration45(): Migration {
return object : Migration(DATABASE_VERSION_4, DATABASE_VERSION_5) {
override fun migrate(database: SupportSQLiteDatabase) {
database.execSQL("CREATE TABLE IF NOT EXISTS `pins` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `slug` TEXT NOT NULL)")
}
}
}
【问题讨论】:
标签: android android-room