Model Schema
简介
Flexmodel框架采用JSON格式定义模型,此文档为Schema定义描述。
对象配置
对象分为三种,ENTITY
、ENUM
和NATIVE_QUERY
,实体对应数据库物理表,ENUM
为枚举类型,NATIVE_QUERY
为本地查询。
对象包含以下公共属性:
属性 | 类型 | 可选属性 | 描述 |
---|---|---|---|
name | String | 否 | 对象名称 |
comment | String | 是 | 注释 |
type | String | 否 | 对象类型 |
additionalProperties | Object | 是 | 其他属性,可用于扩展 |
下文将介绍不通类型对象专有属性
实体描述
实体包含字段和索引两部分:
属性 | 类型 | 可选属性 | 描述 |
---|---|---|---|
fields | Array | 否 | 字段列表 |
indexes | Array | 是 | 索引列表 |
- 字段描述
目前支持以下类型:
名称 | 描述 |
---|---|
ID | 唯一标识符,通常用于区分不同记录。 |
STRING | 字符串类型,用于存储文本数据。 |
TEXT | 文本类型,适用于存储大量文本信息。 |
DECIMAL | 精确的小数类型,常用于财务数据。 |
INT | 整数类型,通常用于存储整数值。 |
BIGINT | 大整数类型,适用于存储超出标准整数范围的值。 |
BOOLEAN | 布尔类型,仅能存储真(true)或假(false)。 |
DATETIME | 日期时间类型,用于存 储日期和时间信息。 |
DATE | 日期类型,仅用于存储日期,不包含时间。 |
JSON | JSON格式,用于存储结构化数据。 |
ENUM | 枚举类型,定义一组有限的可能值。 |
RELATION | 关系类型,表示与数据的关联。 |
字段包含以下公共属性:
属性 | 类型 | 可选属性 | 描述 |
---|---|---|---|
name | String | 否 | 对象名称 |
comment | String | 是 | 注释 |
type | String | 否 | 对象类型 |
unique | Boolean | 是 | 是否唯一,默认值为false |
nullable | Boolean | 是 | 可为空,默认值为true |
defaultValue | Any | 是 | 默认值 |
additionalProperties | Object | 是 | 其他属性,可用于扩展 |
以下为各种类型字段的专有属性:
ID
属性 | 类型 | 可选属性 | 描述 |
---|---|---|---|
generatedValue | String | 否 | 可配置AUTO_INCREMENT |UUID |ULID |BIGINT_NOT_GENERATED |STRING_NOT_GENERATED ,默认值为AUTO_INCREMENT |
STRING
属性 | 类型 | 可选属性 | 描述 |
---|---|---|---|
length | Number | 是 | 长度,默认值为255 |
TEXT
属性 | 类型 | 可选属性 | 描述 |
---|
DECIMAL
属性 | 类型 |
---|