所以我处于需要迁移数据库中的一个模型的情况。我在模型中添加了一个DateTimeOffset
字段,该字段将包含我的Recommendation
模型当前在数据库中不存在的日期。因此无法从现有数据中填充新字段。
Recommendation
在我的迁移回调中,我想要模型及其所有子模型(它由几个类组成)的空白板。因此,我可以使用新字段从我的 web-api 获取新的推荐数据集。当我尝试清除所有现有模型数据的旧数据库时,出现异常。
Realms.Exceptions.RealmInvalidTransactionException
无法在只读领域执行事务。
我如何实现上述目标?
这是我的迁移回调的相关代码。
var config = new RealmConfiguration("salt.realm");
config.SchemaVersion = 2;
config.MigrationCallback = (migration, oldSchemaVersion) =>
{
Settings.UpdateDateRecommendationsUtc = DateTime.MinValue;
migration.OldRealm.Write(() =>
{
migration.OldRealm.RemoveAll("RecDataString");
migration.OldRealm.RemoveAll("RecChart");
migration.OldRealm.RemoveAll("RecSummary");
migration.OldRealm.RemoveAll("RecTickerSymbol");
migration.OldRealm.RemoveAll("Recommendation");
});
};