Является ли база данных Realm переносимой - PullRequest
1 голос
/ 09 мая 2019

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

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

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

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

1 Ответ

1 голос
/ 09 мая 2019

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

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

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

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

C # модель:

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; }
}

Модель Swift:

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
}
...