У меня есть модель с двумя объектами: SFCHChat
и SFCHMessages
, которые имеют отношения «один ко многим».RLMArray to RLMLinkingObjects migration
Благодаря модернизации от Realm 0,98 до 2,0 теперь я получаю следующее исключение в производстве:
Migration is required due to the following errors: - Property 'SFCHChat.chatId' has been made optional. - Property 'SFCHChat.lastReadedMessageId' has been made optional. - Property 'SFCHMessage.chat' has been added. - Property 'SFCHMessage.messageId' has been made optional. - Property 'SFCHMessage.chatId' has been made optional. - Property 'SFCHMessage.userId' has been made optional. - Property 'SFCHMessage.message' has been made optional. - Property 'SFCHUser.initials' has been made optional. - Property 'SFCHUser.userId' has been made optional. - Property 'SFCHChat.messages' has been removed.
Итак, я добавил опции к + (NSArray *)requiredProperties
, но не ясно, как идти о SFCHChat.messages
и SFCHMessage.chat
, Вот код дифф для этих объектов:
### SFCHMessage.h
[email protected] (readonly) SFCHChat *chat;
[email protected] SFCHChat *chat;
### SFCHMessage.m
-- (SFCHChat *)chat
-{
- return [[self linkingObjectsOfClass:@"SFCHChat" forProperty:@"messages"] firstObject];
-}
-
### SFCHChat.h
[email protected] RLMArray<SFCHMessage> *messages;
[email protected] (readonly) RLMLinkingObjects *messages;
### SFCHChat.m
++ (NSDictionary *)linkingObjectsProperties {
+ return @{
+ @"messages": [RLMPropertyDescriptor descriptorWithClass:SFCHMessage.class propertyName:@"chat"],
+ };
+}
+
Резюмируя я мигрировал массив на Realm объектов в RLMLinkingObjects
собственности, linkingObjectsOfClass
стал устаревшими. Итак, вместо добавления SFCHMessage
объектов на SFCHChat.messages
RLMArray Я добавил chat
собственности на каждые SFCHMessage
, а также ссылку из них RLMLinkingObjects
.
Похоже, что изменение на (readonly)
рассматривается как удаление свойств в области, тогда как удаление его рассматривается как добавление свойств. Действительно ли мне нужен блок миграции для моего дела? Как я могу выполнить эту миграцию?