Загрузить изображение для проекта: 'Citeck Community'
  1. Citeck Community
  2. ECOSCOM-3425

[EMODEL] Add aliases support for ECOS types

    XMLWordДля печати

Детали задачи

    • Icon: История История
    • Решение: Готово
    • Icon: High High
    • Community 3.19.0
    • Не заполнено
    • Не заполнено
    • Не заполнено

    Описание

      Репозиторий 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"

      Вложенные файлы

        Активность

          Люди

            rk:27b18e8b-dfd7-420e-a25d-2f75e7183b68 Nikolay Gerasimenko [X] (Неактивный)
            Pavel.Simonov Pavel Simonov [X] (Неактивный)
            Голоса:
            0 Голосовать за эту задачу
            Наблюдатели:
            2 Начать наблюдение за этой задачей

            Даты

              Создано:
              Обновленo:
              Дата решения:

              Учет времени

                Оценка:
                Первоначальная оценка - 2 дни
                2d
                Осталось:
                Оставшееся время - 0 минуты
                0m
                Затрачено:
                Затраченное время - 2 дни
                2d