mybpm!
Скачать в формате: PDF pdf DOCX word

Процесс OUT миграции

Out миграция принимает объект

KafkaBoi

И при помощи boId достается companyCode.

Out таблицы создаются в отдельной схеме в базе. Название схемы - out_companyCode_{KafkaTopic.OUT_MIGRATION_VERSION}_{env.MYBPM_OUT_MIGRATION_VERSION}

При первом разе идет проверка существует ли схема для out таблиц.

Дальше по boiId мы достаем

BoiDto

И при помощи структуры out таблиц делаем insert on conflict в нужные таблицы.

Название таблиц - boCode. Название колонок - fieldCode

Если мы имеем в БО поле типа БО или СО, то создается таблица которая их связывает.

Пример: 1) Course имеет поле Teacher(fieldType=BO). В таком случае для Course будет таблица Course и _Course_Teacher_

2) Contract имеет поле Borrower(fieldType=CO). Borrower здесь поле, которое хранит 3 разных БО. Здесь будет таблица Contract и _Contract_Borrower_. Из-за того, что Contract_Borrower имеет тип СО, он хранит id-шки 3 разных таблиц.

ВАЖНО! Для того, чтоб добавить новые поля или БО-шки для out миграции необходима менять:

KafkaTopic.OUT_MIGRATION_VERSION (обязательно инкремент)

Или более предпочтительный вариант:

В environment-е MYBPM_OUT_MIGRATION_VERSION (обязательно инкремент)