Probleme mit einigen Designentscheidungen, die mit der Tatsache zusammenhängen, dass schemaVersion bereichsübergreifend und nicht pro Modell ist. Meine Ziele:Schemas, Migrationen und SchemaVersion, wenn Modelle zwischen Modulen aufgeteilt werden?
- Module können 'Modelle' aussetzen, die nur Objekte, die haben:
- namen, andere nützliche Meta-Daten
- 'Schema', ein Array von Objekten wie:
{version: 1, schema: {...}, migration: (optional)}
- ein Orchestrierung-Modul stellt dann den Kleber alle diese Modellmodule zu laden, erstellen sie den Realm Objekt von ihnen und führen Migrationen anhängig ist (in sehr ähnlicher Weise wie das Beispiel in Ihre Dokumente)
Das Problem: Wie erstellt man eine bereichsübergreifende schemaVersion, die ordnungsgemäß erhöht, wenn eines der Module neue Versionen haben? Denken Sie daran, dass Sie aufhören könnten, ein bestimmtes Modellmodul zu verwenden, also würde etwas wie das Addieren der ganzen Version nicht funktionieren.
Einige Ideen, mit denen ich gespielt habe: Verfolgen aller Modellversionen in einem 'System'-Bereich, damit der Orchestrator weiß, welche Submigrationen ausgeführt werden sollen. Dieser 'System'-Bereich könnte sogar alle alten Schemata beibehalten (so dass die Module sie nicht herumführen müssen, nur die alten Migrationsfunktionen. –
Verwenden Sie Realm mit React Native oder in einer anderen Umgebung? – bdash
@ bdash Ja, realm mit react-native –