Už jsem před časem článek o stejné věci napsal: Přesun modelu do jiné vrstvy. Rozdíl je v tom, že tehdy jsem používal Team Foundation Server a tentokrát jsem potřeboval přesunout model do jiné vrstvy při použití MorphX VCS.
MorphX VCS nepodporuje synchronizaci, takže můj původní postup nelze použít. Co potřebujete je přesunout všechny objekty do cílové vrstvy pomocí exportu a importu a aktualizovat data v tabulkách, které slouží jako repozitář MorphX VCS. S druhým krokem vám pomůže následující kód:
str oldLayer = 'usr'; str newLayer = 'cus'; str 10 searchPattern = strFmt(@'\\%1\\*', oldLayer); SysVersionControlMorphXItemTable item; SysVersionControlMorphXRevisionTable rev; SysVersionControlMorphXLockTable lock; str replaceLayer(str path) { return strFmt(@'\%1\%2', newLayer, subStr(path, 6, strLen(path))); } ttsBegin; while select forUpdate item where item.ItemPath like searchPattern { item.ItemPath = replaceLayer(item.ItemPath); item.update(); } while select forUpdate rev where rev.ItemPath like searchPattern { rev.ItemPath = replaceLayer(rev.ItemPath); rev.update(); } while select forUpdate lock where lock.ItemPath like searchPattern { lock.ItemPath = replaceLayer(lock.ItemPath); lock.update(); } ttsCommit;