В Орионе можно ли изменить тип сущности? Связанный вопрос, можно ли изменить тип атрибута?
Изменить: изменение типа объекта не представляется возможным. Так что создание новой сущности кажется решением. Но как сохранить dateCreated и dateModified?
В Орионе можно ли изменить тип сущности? Связанный вопрос, можно ли изменить тип атрибута?
Изменить: изменение типа объекта не представляется возможным. Так что создание новой сущности кажется решением. Но как сохранить dateCreated и dateModified?
В Орионе можно ли изменить тип сущности
Не прямо. Идентификатор объекта и тип объекта неизменны. Однако вы можете создать копию сущности с новым типом, а затем удалить старую сущность. Это будет иметь тот же эффект.
Связанный вопрос, можно ли изменить тип атрибута?
Да, это так. При обновлении атрибута можно изменить не только значение, но и тип (и метаданные).
РЕДАКТИРОВАТЬ: атрибуты и метаданные dateModified
и dateCreation
предназначены для автоматического управления контекстным брокером. Клиенты не могут их изменять, они доступны только для чтения. Идея состоит в том, что данный клиент-потребитель контекста (который, в принципе, не зависит от клиента-производителя контекста, создающего / обновляющего объект) имеет надежную метку времени, которую никто не может изменить.
Итак, в основном у вас есть две альтернативы:
Используйте свои собственные атрибуты отметок времени и метаданные. Их можно «переместить» в новую сущность при ее создании. Однако CB не будет поддерживать их автоматически, поэтому ваше приложение должно будет это делать.
Используйте процесс вне API, перемещая сущность на уровень БД. Однако это может быть сложно, так как вам нужен прямой доступ к БД.
EDIT2: для второго случая (процесс на основе БД) примите во внимание Модель Orion DB. Особенно:
_id.type
для типа объектаcreDate
- дата создания объектаmodDate
- дата изменения сущностиattrs.A.creDate
для атрибута Дата созданияattrs.A.modDate
для атрибута Дата изменения