Детали задачи
-
История
-
Решение: Готово
-
High
-
Не заполнено
-
Не заполнено
-
Не заполнено
Описание
Репозиторий ecos-model
Добавить поддержку алиасов для типов ECOS.
1. В TypeDto добавить поле aliases с типом List<String>
2. При деплое типа мы ищем в базе не является ли его ID алиасом какого-нибудь уже загруженного типа в базе. Если является, берем за основу тип из базы, переносим туда изменения из типа, который пришел на деплой и сохраняем.
3. Если в базе нет типа, у которого в aliases есть тип пришедший на деплой, то смотрим нет ли у нового типа заполненного поля aliases. Если есть, то смотрим есть ли в базе типы, у которых ID (ext_id) содержится в поле aliases нового типа (назовем такие типы ALIASES_TYPES). Если такие типы есть, то берем первый из них за основу, проставляем туда все данные из нового типа (включая ID), сохраняем с новым ID. После этого типы ALIASES_TYPES нужно удалить из базы.
4. Если поля aliases у нового типа нету, то логика остается прежней.
Цель которую решаем:
У нас есть часть типов, у которых ID сгенерирован и он отличается от сервера к серверу. Должна быть возможность описать новый тип примерно следующего содержания:
{ "id": "some_user_type", "aliases": [ "123e4567-e89b-12d3-a456-426655440000", <-- такой ID будет на стенде 0 "123e4567-e89b-12d3-a456-426655440001" <-- такой ID будет на стенде 1 ] }
И после деплоя мы вместо двух типов с разными ID на разных стендах получим один тип с ID="some_user_type"
Вложенные файлы
Связи запроса
- blocks
-
ECOSCOM-3115 ECOS UI: "Document Link" widget configure not allowed with auto-generated type/kind id
- Готово