Tôi muốn di chuyển giản đồ lĩnh vực của mình sang phiên bản mới. Do đó, việc loại bỏ khóa chính của tôi là cần thiết.Di chuyển khóa chính của lĩnh vực
Cũ schema:
class StudyState : Object
{
dynamic var name = ""
dynamic var x = ""
dynamic var y = ""
override static func primaryKey() -> String? {
return "name"
}
}
New schema:
class StudyState : Object
{
dynamic var name = ""
dynamic var x = ""
dynamic var y = ""
}
Nếu không có di cư, vương quốc sẽ thất bại với
'RLMException', lý do: 'Di cư là cần thiết cho loại đối tượng 'StudyState' do các lỗi sau: - Prop erty 'name' không còn là khóa chính nữa '.
tôi đã cố gắng khối này di cư, mà thất bại quá:
migration.enumerate(StudyState.className()) { oldObject, newObject in
newObject?["deleted"] = false
newObject?["primaryKeyProperty"] = ""
}
'RLMException', lý do: 'tên thuộc tính không hợp lệ'
Có cách nào để loại bỏ khóa chính khi di chuyển lĩnh vực sang phiên bản giản đồ mới?
nhưng mà là "setSchemaVersion" từ đâu? – User9527
@ User9527 Câu trả lời này dành cho phiên bản quá cũ. Trong phiên bản mới nhất, bạn có thể sử dụng 'Realm.Configuration' để chỉ định phiên bản lược đồ thay thế. Xem thêm https://realm.io/docs/swift/latest/#migrations –