/ / Migracja podstawowych danych relacji jeden do wielu relacji - dane podstawowe, migracja, relacje, migracja danych podstawowych, model mapowania

Migracja danych podstawowych relacji jeden do jednego do relacji wiele-wiele - podstawowe dane, migracja, relacje, migracja danych podstawowych, model mapowania

Mam wdrożoną aplikację, która pobiera próbki pomiarówz czujników (np. Temp ° C, Ciśnienie kPa). Użytkownik może tworzyć eksperymenty i pobierać próbki. Każda próbka jest przechowywana jako przebieg, dzięki czemu istnieje relacja jeden do wielu między eksperymentem a przebiegiem. W interesie wydajności Run ma relację jeden-do-jeden z jednostką danych (czyli tam, gdzie przechowywane są rzeczywiste surowe dane); umożliwia to ładowanie niektórych atrybutów Run bez konieczności ładowania dużej ilości danych.

Większość naszych czujników ma wiele pomiarów,więc dobrze byłoby przechowywać wszystkie dane, które są próbkowane. Oznacza to jednak, że relacja Uruchom <---> Dane musi stać się Dane Uruchom <-->> (aby użyć konwencji Xcode).

Mam do czynienia z próbą migracji danych ze starychUruchom model danych „jeden do jednego” do nowego modelu danych „Uruchom do wielu”. Czy można to zrobić za pomocą modeli mapowania? Jeśli tak, to czy ktoś ma jakieś wskazówki do przykładów? Jeśli nie, to czy ktoś ma jakieś wskazówki, jak to zrobić?

Dzięki za wszelkie wskazówki lub porady.

Odpowiedzi:

3 dla odpowiedzi № 1

Ta migracja powinna być na tyle łatwa, aby automatyczna migracja działała. Najgorsze jest to, że wymagałoby to modelu mapowania, ale podejrzewam, że „po prostu zadziała”, włączając automatyczną migrację.


1 dla odpowiedzi nr 2

Skończyło się na tym, że muszę podklasowaćNSEntityMigrationPolicy kilka razy. Było to konieczne, ponieważ właściwości przenosiły się z / do różnych bytów z kilkoma poziomami abstrakcji w celu obsługi znacznie bardziej ogólnego modelu. Ważne było również uporządkowanie odwzorowań encji w modelu odwzorowania.

Ostatecznie musiałem ustawić opcje dla -addPersistentStoreTore: konfiguracja: URL: opcje: błąd: do:

    NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption, nil];

tym samym pomijając NSInferMappingModelAutomaticallyOption.