Realm 数据库是否可移植

Is Realm database portable

是一个跨开发可移植的领域数据库frameworks/languages。

如果我使用 Realm 数据库在 Xamarin 中编写了 Android 或 iOS 应用程序的第 1 版,那么对于应用程序的第 2 版,我在本地重写了它。

应用从版本1升级到版本2时,升级Realm数据库会不会有问题

如果是这样,我将如何处理任何问题?

简短的回答是,领域数据库是可移植的。

您可以通过使用 Realm Studio 来查看实际效果,因为此应用程序在 Linux、MacOS、Windows 上运行,并且可以选择打开示例数据库从 Realm 下载并在任何 OS 中正确打开,您可以将此数据库复制到 Android|iOS 设备并在您的 Realm 代码中使用它而无需更改。

现在,当然,您的模型的实现依赖于语言,如果您更改 Realm-based 应用程序的语言,则必须进行更改。

不同语言的相同 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?
}

Kotin 模型:

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