Android 显示编译时错误的文件室自动迁移

Android 显示编译时错误的文件室自动迁移,android,android-room,Android,Android Room,我使用的是2.4.0-alpha01房间 但它告诉我这个错误 在路径:\app\schemascom.pige.mangaer.AppDB/2.json中找不到迁移所需的架构。无法生成自动迁移。 这是我的密码: @Database( exportSchema = true, version = 3, entities = [Pigeon::class,PairEntity::class], autoMigrations = [ AutoMigrat

我使用的是2.4.0-alpha01房间

但它告诉我这个错误

在路径:\app\schemascom.pige.mangaer.AppDB/2.json中找不到迁移所需的架构。无法生成自动迁移。

这是我的密码:

@Database(
    exportSchema = true,
    version = 3,
    entities = [Pigeon::class,PairEntity::class],
    autoMigrations = [
        AutoMigration(from = 2,to = 3)
                     ]
   )
abstract class AppDB:RoomDatabase() {
    abstract  fun  pigeonDao():PigeonDao
    abstract fun  pairDao():PairDao
}

Room自动迁移要求您导出数据库架构,以便它能够知道数据库在以前版本中的状态,以便生成自动迁移。Florina Muntenescu表示:

⚠️注意:在引擎盖下,房间自动迁移依赖于生成的 数据库架构,因此请确保 @使用自动迁移时,数据库为true。否则会导致 错误:导出架构关闭时无法创建自动迁移


显示如何将选项
exportSchema
正确添加到项目中。

此错误的原因是我为版本2设置了exportSchema=false。实际上,它缺少版本2的架构。如果您尚未提交版本3的更改,您仍然可以将该标志添加到版本2,运行应用程序并生成版本2的架构,然后将更改添加到版本3。如果不可能,自动迁移将只在版本3到版本4之间工作。