如何在应用程序更新期间进行领域数据库迁移而不使用xamarin删除数据?

时间:2018-07-30 10:03:23

标签: android xamarin xamarin.android realm realm-migration

我的问题很简单。我不知道如何将数据迁移到新架构。我在获取Realm实例时添加了ShouldDeleteIfMigrationIsNeeded,这对生产来说是错误的。当我尝试更新我们的应用程序时,整个数据都被删除了。很好,这是我们的第一周,所以如果数据消失了就可以了,但是下次就可以了。

如何进行适当的迁移?放置什么代码。在哪里放置代码。何时触发

这是我在实例上的代码

public class DAL_DBAccessVariables
{
    private const string databaseName = "dbname.realm";
    private static readonly string dbPath =
        Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), databaseName);
    private static readonly RealmConfiguration config = new RealmConfiguration(dbPath);

    public static Realm GetInstance()
    {
        RealmConfiguration config = DAL_DBAccessVariables.config;
        config.ShouldDeleteIfMigrationNeeded = true;
        return Realm.GetInstance(config);
    }
}

这是示例用法

public class DAL_Branches : IDALCommands
{
    Realm realm;

    public DAL_Branches()
    {
        realm = DAL_DBAccessVariables.GetInstance();
    }

    public object selectSpecific(int id)
    {
        try
        {
            return realm.All<t_Branches>().ToList().Find(o => o.Id == id);
        }
        catch { throw; }
    }
}

0 个答案:

没有答案