0

你们如何将您的 java 领域对象与 swift 领域对象相匹配?

我的领域开发是从 Swift 开始的,所以对象服务器包含从 swift 迁移的数据。然后我使用 Java(使用 Realm Studio 的模型)创建了我的 android 版本。

Swift:
class OrderItem: Object {
    @objc dynamic var id: String = ""
}

Java
public class OrderItem extends RealmObject {
//    @PrimaryKey
    private String id;
}

Error without @PrimaryKey:
Bad changeset received: Schema mismatch: 'OrderItem' has a primary key on one side, but not on the other.

Error with @PrimaryKey: 
Exception has been thrown: The following changes cannot be made in additive-only schema mode: Primary Key for class 'OrderItem' has been added.

任何想法如何解决这些错误?

4

1 回答 1

1

没有@PrimaryKey 的错误:收到错误的变更集:架构不匹配:“OrderItem”在一侧有主键,但在另一侧没有。

这表明模式不匹配会执行破坏性模式操作,所以这是不对的。

@PrimaryKey 出错:已引发异常:无法在仅添加模式模式下进行以下更改:已添加类“OrderItem”的主键。

这意味着您可能没有@PrimaryKey事先尝试过,因此您在本地仍然有一个没有主键的架构,因此您需要擦除应用程序的数据以删除 Realm 文件,然后使用@PrimaryKey.

于 2018-03-05T08:32:03.307 回答