Detail
Detail
Im DOStorage werden Daten zu einer Person (unversioniert) hinterlegt. Diese werden auch nicht gelöscht, wenn die Person gelöscht wird.
Bei der Migration kann es folgendermaßen zu Fehlern kommen:
Wird der IDMapper benutzt so werden Objekte aus dem Quellsystem über einen fachlichen (nicht über technische TLID) mit Objekten aus dem Zielsystem identifiziert, bei einer Person z.B. über den Login. Dabei wird davon ausgegangen, dass die Daten im Zielsystem die gewünschten Daten sind, d.h. Änderungen im Quellsystem werden ignoriert.
Szenario
Angenommen es gibt im Ziel- und Quellsystem eine Person mit Login "dau" der im Quellsystem gelöscht und wieder angelegt wird. Im Zielsystem werden Löschen und Anlage der Person "dau" geskippt, die Einträge im DOStorage jedoch nicht und zusätlich umgeschlüsselt auf die selbe technische ID. Somit kommt es zu clashes in der DOStorage Tabelle.
Lösung
Einträge im DOStorage zu geskippten Person-Creations auch skippen.
Anwendung
#!xml <transformer class="com.top_logic.knowledge.service.db2.migration.db.transformers.DOStorageRemovedValuesSkipper" types="DO_STORAGE" id-attribute="IDENTIFIER" />
Siehe tl:com.top_logic.knowledge.service.db2.migration.db.transformers.DOStorageRemovedValuesSkipper
Test
- Obiges Szenario darf nicht zu Problemen führen.