【问题标题】:How To handle Multiple Database version in Room DB如何在 Room DB 中处理多个数据库版本
【发布时间】:2021-01-06 09:53:45
【问题描述】:

如何在 Room DB 中处理多个数据库版本迁移
我无法管理多个版本的数据库。

【问题讨论】:

    标签: android kotlin android-room database-migration


    【解决方案1】:
    1. 每个迁移都有一个开始和结束版本,Room 运行这些迁移以将 数据库到最新版本。

    static final Migration MIGRATION_8_9 = new Migration(8, 9) {
            @Override
            public void migrate(SupportSQLiteDatabase database) {
                database.execSQL("ALTER TABLE  `tableName` ADD COLUMN columeName INTEGER DEFAULT 0 NOT NULL");
            }
        };
    

    2.一次迁移可以处理多个版本
    (例如,如果您有更快的路径可以选择何时 从版本 3 到版本 5,而不是版本 4)。
    如果 Room 在版本中打开数据库 3 和最新版本 >= 5,
    Room 将使用可以从中迁移的迁移对象 3 比 5 而不是 3 比 4 和 4 比 5。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-19
      • 2017-01-29
      • 2014-10-07
      • 1970-01-01
      相关资源
      最近更新 更多