理论上,简单地添加新字段就可以不进行迁移而工作,这些字段在所有现有对象上都为null。 Realm是这样工作的还是我需要专门迁移数据库?
答案 0 :(得分:1)
是的,每次添加新字段时都需要执行此操作。否则,您将得到一个例外-“ RealmMigrationNeededException:字段计数超出预期-预期为X但为Y”
答案 1 :(得分:1)
从理论上讲,只需添加新字段即可进行迁移,
从技术上讲,即使在任何SQLite数据库中,您也都可以自己编写alter table add column
语句。
领域当然不是SQLite,所以可以有所不同。
Realm是这样工作的还是我需要专门迁移数据库?
棘手的问题:
如果使用的是RealmConfiguration,则需要在迁移中手动将字段添加到架构中
如果使用的是SyncConfiguration,则将自动应用附加更改,并且这些字段将为空,但不允许进行破坏性更改(删除字段,更改索引,需要更改,更改主键)。