首页 > 解决方案 > C# 中的 RealmMigrationNeededException 仅添加一个属性

问题描述

我有一个使用 Realm db 的应用程序。我向 UserRealm 添加了一个名为 Test 的字符串属性。

当我尝试运行我的应用程序时,它会写

Realms.Exceptions.RealmMigrationNeededException:由于以下错误而需要迁移: - 已添加属性“UserRealm .Test”。

我正在尝试在互联网上搜索,但几乎所有解决方案都是删除旧数据库。我不想删除旧数据库,我需要保留它并添加这一列。

这是一个 Xamarin/C# 项目。

我怎样才能简单地将单一属性迁移添加到领域?如果默认值为 string.Empty 就没有问题。

我使用 Realm nuget 3.4.0,Realm.Database 3.4.0 Fody 3.3.4

标签: c#xamarinmigrationrealm

解决方案


只需将 a 添加MigrationCallback到您的RealmConfiguration中,如果不需要数据转换,您无需在该回调中执行任何操作,并且您无需将新属性初始化为 Realm 中的默认值以外的其他内容。

var config = new RealmConfiguration
{
    SchemaVersion = 2,
    MigrationCallback = (migration, oldSchemaVersion) =>
    {
    }
};

回复:https ://realm.io/docs/dotnet/latest#performing-a-migration


推荐阅读