Hallo zusammen,
bitte entschuldigt den Roman, ich brauche Hilfe, meine Gedanken zu ordnen
Ich muss auf ein Thema zurück kommen, dass ich hier vor vier Jahren (huch!) schon einmal angesprochen habe: Es geht darum, Teile eines NSPersistentStores zu exportieren, um z. B. ein Sharen per Mail zu ermöglichen. Seinerzeit hatte ich ein vergleichsweise simples Datenmodell und meine Umsetzung läuft seitdem problemlos. Allerdings gab es auch nur überschaubare Relationen. Nun ist es etwas komplizierter und mir ist nicht klar, wie ich die Sache am besten realisiere.
Es geht um eine Art Produkt-Verwaltung
Shop <--->> Produkt <<---> Farbe
Shop <--->> Liste <<--->> Farbe
Nach meinem Verständnis muss ich beim Exportieren der Relationen einen eindeutigen Schlüssel des Zielobjektes speichern. Nur dann kann ich später beim Importieren die Referenzen wieder herstellen. Ohne einem solchen kann ich z. B. bei der Farbe eines zweiten Produktes nicht bestimmen, ob es sich um eine neue oder bereits vorher importierte Farbe handelt. Beim letzten Mal hatte ich einen eindeutigen Schlüssel im Datenmodell, jetzt müsste ich einen z. B. auf Basis der objectID erzeugen:
Ich habe das Gefühl, unnötig kompliziert zu denken und mein Google-fu versagt: Ich finde zwar z. B. viele SO-Artikel, werde aber aus den Implementierungen nicht wirklich schlau. Auf GitHub findet sich auch einiges - diese Lösung fand ich recht vielversprechend - aber das Thema der Relationen bleibt mir immer noch rätselhaft.
Wie löst Ihr dieses (doch sehr allgemeine) Problem? Wo habe ich einen Knoten im Gehirn? Lohnt sich Selberbauen oder gibt es hierfür Quasi-Standardlösungen?
Vielen Dank für's Mitdenken, Mattes
bitte entschuldigt den Roman, ich brauche Hilfe, meine Gedanken zu ordnen
Ich muss auf ein Thema zurück kommen, dass ich hier vor vier Jahren (huch!) schon einmal angesprochen habe: Es geht darum, Teile eines NSPersistentStores zu exportieren, um z. B. ein Sharen per Mail zu ermöglichen. Seinerzeit hatte ich ein vergleichsweise simples Datenmodell und meine Umsetzung läuft seitdem problemlos. Allerdings gab es auch nur überschaubare Relationen. Nun ist es etwas komplizierter und mir ist nicht klar, wie ich die Sache am besten realisiere.
Es geht um eine Art Produkt-Verwaltung
- Ein Shop hat mehrere Produkte (one-to-many)
- Ein Produkt hat verschiedene Eigenschaften, manche davon aus Picklisten auswählbar, z. B. Größe oder Farbe (many-to-one)
- Produktlisten ("Abfragen") beinhalten Selektionskriterien, die den Produkt-Eigenschaften entspricht (und auch obige Picklisten nutzen); so kann eine Liste z. B. alle grünen oder roten Produkte beinhalten (many-to-many)
Shop <--->> Produkt <<---> Farbe
Shop <--->> Liste <<--->> Farbe
Nach meinem Verständnis muss ich beim Exportieren der Relationen einen eindeutigen Schlüssel des Zielobjektes speichern. Nur dann kann ich später beim Importieren die Referenzen wieder herstellen. Ohne einem solchen kann ich z. B. bei der Farbe eines zweiten Produktes nicht bestimmen, ob es sich um eine neue oder bereits vorher importierte Farbe handelt. Beim letzten Mal hatte ich einen eindeutigen Schlüssel im Datenmodell, jetzt müsste ich einen z. B. auf Basis der objectID erzeugen:
- Ich würde also beim Exportieren eines Shops alle Artikel und ausgehend von diesen alle (verwendeten) Einträge der Picklisten exportieren, also z. B. alle benutzen Farben; hierbei speichere ich mit dem Artikel eindeutige IDs der jeweiligen Farbe (und die Farbe extra als eigene Entität)
- Dann exportiere ich alle Produktlisten und auf diesem Wege wieder Farben - eventuelle neue (nicht von Artikeln verwendete); hierbei speichere ich mit der Produktliste wieder eindeutige IDs der verwendeten Farben.
- Beim Import lege ich die Farben an und erstelle dann die Referenzen.
Ich habe das Gefühl, unnötig kompliziert zu denken und mein Google-fu versagt: Ich finde zwar z. B. viele SO-Artikel, werde aber aus den Implementierungen nicht wirklich schlau. Auf GitHub findet sich auch einiges - diese Lösung fand ich recht vielversprechend - aber das Thema der Relationen bleibt mir immer noch rätselhaft.
Wie löst Ihr dieses (doch sehr allgemeine) Problem? Wo habe ich einen Knoten im Gehirn? Lohnt sich Selberbauen oder gibt es hierfür Quasi-Standardlösungen?
Vielen Dank für's Mitdenken, Mattes
Diese Seite bleibt aus technischen Gründen unbedruckt.