Сущности / Модель данных
Сущность описывается в json файле
{ "code" : "session", ## id сущности "name": { ## имя в разных локализациях "_def" : "Сессия" }, "baloon": { ## всплывающее сообщение "_def": "Системная сессия" }, "parent": "core/Entity", ## родительская сущность "info" : null, ## информация о сущности (для разработчика) "uniques": [ ## уникальные свойства "ip4,ip4x,proxy" ], "props": [ ## массив свойств { "code": "sysuser_id", ## код "name": { ## имя "_def" : "Пользователь" }, "label": "©", ## метка (для интерфейсов) "baloon": { ## всплывающее обозначение "_def" : "Пользователь, инициировавший сессию" }, "type": "association", ## тип свойства "length" : null, ## длина свойства в символах "nn": true, ## признак обязательности "index": null, ## необходимость индексации "default": 2, ## значение по умолчанию "info": null, ## информация о свойстве (для разработчика) "association": { ## ассоциативная связь свойств "entity" : "core/co_Sysuser", ## сущность "prop" : "id" ## связанное свойство } } ] }
Тип свойства
- ::id:: – тип, присущий счётчикам
- для PostgSQL это BIGINT
- ::hid:: – строка в 32 символа
- timestamp
- string
- integer
- real
- bool
- text
Значение свойства по умолчанию
- ::counter:: – следующее значение счётчика, связанного с этим свойствам сущности
- для PostgrSQL это nextval('<имя_счётчика>'), имя счётчика генерируется автоматически
- ::hid:: – уникальная md5 строка (32 символа)
- для PostgrSQL это md5(to_char(now(), 'DDDYYYYNNDDHH24MISSUS') || random())
- ::now:: – текущий штапм времени (обычно current_timestamp)
- <число>
- <строка>