Ограничения изменения моделей данных¶
При проектировании модели данных класса, а именно при изменении его атрибутивного состава, следует учитывать следующие рекомендации:
-
Добавлять в класс объекта новые атрибуты любых типов можно на любом этапе эксплуатации Системы на базе Платформы.
-
Удалять (отвязывать) атрибуты от класса объекта можно на любом этапе эксплуатации Системы на базе Платформы.
Исторические данные с удаленным атрибутом сохранятся в неизменном виде на слое данных Платформы до первого изменения объекта, но получение значения этого атрибута в составе объекта будет невозможно.
Рекомендуется провести ревизию использования удаленного атрибута в проектном решении, например, использование атрибута в источниках данных, формах, ключей уникальности, политиках доступа и т.д.
3. Изменять свойства атрибута, если нет исторических данных, безопасно.
4. При изменении свойств атрибута, если есть исторические данные, следует придерживаться следующих рекомендаций:
-
Свойства, не влияющие на отображение данных или логику HTTP-запросов, можно изменять в любое время:
-
Влияют только на отображение данных:
-
Наименование – name.
-
Описание – description.
-
Порядок – ordinal.
-
Скрытие поля – isHidden.
-
-
Влияют только на создание новых объектов:
-
Значение по умолчанию – defaultValue.
-
Выполнять проверку значения на соответствие формату атрибута – validationExpression.
-
Обязательность – isRequired.
-
-
Свойства, влияющие на логику HTTP-запросов, изменять допускается при условии контроля целостности бизнес-логики приложения на Платформе.
Рекомендуется провести ревизию использования измененного атрибута в проектном решении, например, использование атрибута в источниках данных, формах, ключей уникальности, политиках доступа и т.д.
-
Сортируемость – isOrderable – влияет на возможность сортировать по данному атрибуту в HTTP-запросах.
-
Использование для поиска – isSearchable – влияет на возможность производить фильтрацию и поиск по данному атрибуту.
-
Персональные данные – isPrivate – влияет на функционал массовых операций с персональными данными.
Свойства, влияющие на способ хранения, логику работы и прочие изменять не рекомендуется.
Если в Системе есть исторические данные, то не рекомендуется изменять типизацию и другие ключевые свойства атрибута.
-
Код атрибута – code – является уникальным идентификатором атрибута.
-
Тип данных – type – тип данных атрибута влияет на способ хранения и работы с ним.
-
Режим ввода – cardinality – управляет кардинальностью (возможностью множественных значений в одном атрибуте), влияет на способ хранения и работы с ним.