【问题标题】:Do i have to provide a Realm Migration when only adding new Fields?仅添加新字段时是否必须提供领域迁移?
【发布时间】:2018-08-27 09:47:12
【问题描述】:

理论上,只需添加新字段就可以在不迁移的情况下工作,这些字段在所有现有对象上都是空的。 Realm 是这样工作的还是我需要专门迁移我的数据库?

【问题讨论】:

    标签: android realm realm-migration


    【解决方案1】:

    理论上,只需添加新字段即可,无需迁移,

    从技术上讲,即使在任何 SQLite 数据库中,您都可以自己编写 alter table add column 语句。

    Realm 当然不是 SQLite,所以它可以不同。

    Realm 是这样工作的还是我需要专门迁移我的数据库?

    棘手的问题:

    • 如果您使用 RealmConfiguration,则需要在迁移中手动将字段添加到架构中

    • 如果您使用的是 SyncConfiguration,则会自动应用附加更改并且字段将为空,但不允许破坏性更改(删除字段、更改索引、更改所需、更改主键)。

    【讨论】:

      【解决方案2】:

      是的,您每次添加新字段时都需要这样做。否则,您将收到一个异常-“RealmMigrationNeededException: Field count is more than expected - expected X but was Y”

      【讨论】:

      • 实际上比 Realm-Java 3.7.1 更具体
      猜你喜欢
      • 2019-08-30
      • 1970-01-01
      • 2013-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多