c# - 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
解决方案
只需将 a 添加MigrationCallback
到您的RealmConfiguration
中,如果不需要数据转换,您无需在该回调中执行任何操作,并且您无需将新属性初始化为 Realm 中的默认值以外的其他内容。
var config = new RealmConfiguration
{
SchemaVersion = 2,
MigrationCallback = (migration, oldSchemaVersion) =>
{
}
};
回复:https ://realm.io/docs/dotnet/latest#performing-a-migration
推荐阅读
- android-studio - 无法从一项活动转到另一项活动
- ansible - 在 Ansible Playbook 中以管道进程为目标
- android - 我想将相册存储在 Firebase 数据库和存储中
- json - Flutter:我需要 dart obj 和映射的帮助
- javascript - 如果<16,我如何检查给定的密钥年龄并删除它们
- javascript - 我想根据数据选项卡 ID 选择复选框
- sql - 选择,在哪里,分组
- c++ - 尝试使用 C++ 中的函数来计算二维向量是否垂直于另一个
- rust - 四处移动对象,然后调用消耗对象自身的方法会产生“无法移出借来的内容”
- python - 定义一个名为 food 的函数,它接收两个参数