Является ли база данных Realm переносимой?

База данных области, переносимая между платформами/языками разработки.

Если я написал версию 1 приложения для Android или iOS на Xamarin с базой данных Realm, то для версии 2 приложения я переписал ее изначально.

Будут ли у меня проблемы при обновлении базы данных Realm при обновлении приложения с версии 1 на версию 2.

Если да, то как бы я справился с любыми проблемами?


person rideintothesun    schedule 08.05.2019    source источник


Ответы (1)


Короткий ответ: да, базы данных Realm переносимы.

Вы можете увидеть это в действии, используя Realm Studio, так как это приложение работает на Linux, MacOS, Windows и имеет возможность открыть образец базы данных, который загружается из Realm и правильно открывается в любой ОС, вы можете скопировать эту БД на Android |устройство iOS и используйте его в своем коде Realm без изменений.

Теперь, конечно, реализация вашей модели зависит от языка, и ее придется изменить, если вы измените язык своего приложения на основе Realm.

Одна и та же модель RealmTestClass2 на разных языках:

Модель С#:

public class RealmTestClass2 : RealmObject
{
    [MapTo("integerValue")]
    public long IntegerValue { get; set; }

    [MapTo("boolValue")]
    public bool BoolValue { get; set; }

    [MapTo("objectReference")]
    public RealmTestClass1 ObjectReference { get; set; }
}

Быстрая модель:

class RealmTestClass2: Object {
    @objc dynamic var integerValue: Int = 0
    @objc dynamic var boolValue: Bool = false
    @objc dynamic var objectReference: RealmTestClass1?
}

Котин Модель:

open class RealmTestClass2 : RealmObject() {
    var integerValue: Long = 0
    var boolValue: Boolean = false
    var objectReference: RealmTestClass1? = null
}
person SushiHangover    schedule 09.05.2019