Установка обновлений. Сравнение пакетов, Сохранение схем

Добрый день!

 

Пытаюсь установить обновления с разработческой среды на тестовую через установку и удаление пакетов.

Сам пакет на целевой стенд устанавливается корректно.

Но в итоге вижу, что часть обновлений клиентских схем на целевом стенде не появляется. 

Анализируя логи, обнаружила записи типа



.....

2021-12-30 00:47:46,632 Сравнение пакетов

2021-12-30 00:47:46,901 Сохранена схема "SmaNeedSection" в пакете "SmaMain"

..... (тут идут записи про установку пакетов)

2021-12-30 00:47:49,241 Генерация исходного кода схемы "SmaNeedSection" из пакета "SmaMain"

 

В устанавливаемом пакете как раз содержались обновления схемы "SmaNeedSection" и именно их нужно было установить на стенд.

 

Вопрос:

- как происходит сравнение пакетов, что именно при этом сравнивается?

- на основании чего Creatio определяет, что какие-то схемы нужно отдельно сохранить, а потом их восстановить? 

- Что сделать, чтобы избежать таких ошибок в будущем? Если ли какая-то системная настройка, отвечающая за такое поведение установщика пакетов?

Нравится

1 комментарий

Если распаковать пакет через clio или выгрузить в файловую систему, то у каждой схемы есть файл descriptor.json, в нем есть свойство "ModifiedOnUtc", вот по этой дате, если она отличается, и определяется нужно ли обновить схему на целевой среде или нет. Так же на целевой среде у схем (таблицы в бд) "SysSchema",  "SysPackageSchemaData",  "SysPackageReferenceAssembly ",  "SysPackageSqlScript", должно быть установлено IsChanged =0 и IsLocked =0, где SysPackageId = id вашего пакета (таблица SysPackage)

Показать все комментарии