创建模型
云数据库和模型的创建包含了几种情况:
- 创建全新的空白库表、集合并定义好模型结构
- 存在已有的库表、集合和数据,仅需要定义模型结构
- 存在已有旧版本的 CMS ,期望继续使用已配置定义过的模型结构
根据不同的场景,目前数据模型支持的不同创建方式如下:
创建数据库并配置数据模型
在新建数据库时选择这种模式,将创建空白的数据库表、集合,并配置数据模型。
选择此种创建模式后,可以选择使用的数据库。
- 云数据库(文档型):将在文档型云数据库中创建集合
- 云数据库( MySQL 型):将在 MySQL 型云数据库中创建表
- 自有 MySQL 数据库:通过选择已有的自有数据库连接配置,或者创建新的数据库连接配置,将在连接配置对应的自有 MySQL 数据库中创建表
在选择使用的数据库后,可以继续选择模型的创建方式。
- 从空白创建:将从空白模型开始,自行配置模型结构
- 从模板创建:提供了部分模板作为参考,可以快速创建模型结构
在创建过程中,名称用于填写便于记忆的名称内容,可以支持中文。标识用于作为唯一标识,在同一数据库实例上不能重复,支持英文、数字、下划线、中划线。标识同时会作为数据库的集合名称或表名称。
模型配置可见数据模型字段结构说明。
另外,如果需要仅创建数据库集合,而暂时无需创建模型时,也可以在模型配置阶段跳过步骤;这种情况下将仅创建数据库表或集合,而不创建模型;同时可以在后续使用过程中,通过基于已有库表的方式再次生成模型。
从模板创建
创建模型时,选择从模板创建。可将模型写入云开发NoSQL数据库、云开发MySQL数据库或自有MySQL数据库。
由于云开发NoSQL数据库不支持多对多关联关系,模板中设计多对多关联的字段将将不会写入模型中。
选择模板,会帮用户生成一系列数据模型,可根据需要添加或修改字段。
完成后即可看到模型已成功生成。
目前提供了电商、项目管理、进销存、会员管理、博客等五个模板供用户使用。
对接已有数据库表并生成数据模型
在新建时选择这种模式,将不会创建新的数据库表或集合,而仅仅是对接已有库表或集合,并配置生成数据模型。
在这种模式下,对已有的库表或数据不会有影响。
选择此种创建模式后,可以选择对接哪个数据库的表或集合并创建模型。
- 云数据库(文档型):选择已有未创建过模型的云数据库集合。在数据模型上线前创建和使用过的集合,可以通过这种方式生成数据模型。
- 自有 MySQL 数据库:选择自有数据库中的表,基于表的结构生成数据模型。
在创建过程中,名称仍然可以填写为便于记忆的内容。标识会固定采用集合或表名并不可修改。在使用已有数据库的情况下,如果云数据库(文档型)的集合中有数据,会基于已有数据推断模型及结构。针对推断出来的模型,可以进一步修改并编辑名称;针对自有 MySQL 数据库的表,也会基于表的列结构生成模型,同样可以在模型中编辑名称。
在基于已有集合或表创建模型的过程中,模型同样会带有系统字段,并且系统字段会同步到集合中或表结构中。
导入存量内容管理CMS
在新建时选择这种模式,会对接已有的存量内容管理 CMS,基于存量 CMS 中的数据模型,导入生成新的数据模型。
云开发提供过比较多种的 CMS,包括开源版本、headless 版本、云模版版本等,通过目前数据模型能力,可以将旧版本 CMS 中的模型结构进行导入。
在创建模型的过程中,如果存量 CMS 的数据存储在云数据库(文档型)的集合中,则创建完成的数据模型可以直接对接集合,数据可以直接在新的模型方法中获取到并进行操作。如果数据存储在 CMS 侧,则可以通过旧版本中导出数据,并在数据模型中导入数据的方式,进行数据迁移。
CMS 的导入和迁移等更多详细文档,可见 CMS 的介绍文档。
模型配置
模型创建时,需要填写模型名称和标识:
- 名称用于填写便于记忆的名称内容,可以支持中文。
- 标识用于作为唯一标识,在同一数据库实例上不能重复,支持英文、数字、下划线、中划线。标识同时会作为数据库的集合名或表名。
模型字段结构
配置模型字段时,除了填写字段名称和字段标识外,可以为字段指定数据结构类型。字段结构类型可以见如下说明。
- 字段名称:填写便于记忆和识别的名称,可以支持中文
- 字段标识:用于唯一标识,在同一模型中不能重复,支持英文、数字、下划线、中划线。标识同时会作为数据库表中的列名,或集合中的字段名。
- 字段描述:用于描述说明当前字段的用处或使用方法。
- 是否必填:当前字段在插入数据时是否需要必填。
- 是否唯一:当前字段的数据是否为唯一值。
- 是否为主列展示字段:当用户在其它数据模型中,配置关联关系或主子明细字段关联到本数据模型时,该字段会显示为主展示列的值,方便用户查看。此配置仅影响查看效果,不影响关联关系或主子明细字段实际存储内容。
字段结构类型
目前数据模型字段支持以下类型:文本、布尔值、数字、数组、对象、Json、邮箱、电话、网址、图片、富文本、Markdown、日期时间、枚举、地理位置、文件、自动编号、地区、关联关系(新)
更详细的字段说明,可见字段说明。
系统字段
在配置数据模型结构时,模型结构默认包含部分系统字段。系统字段用于存储数据的基础信息,并在模型方法、数据权限等场合发挥作用。系统字段不可修改、删除。
包含的系统字段如下:
名称 | 标识 | 类型 | 是否必填 | 是否唯一 |
---|---|---|---|---|
数据标识 | _id | 文本|单行文本 | 否 | 是 |
创建时间 | createdAt | 日期时间 | 否 | 否 |
更新时间 | updatedAt | 日期时间 | 否 | 否 |
所有人 | owner | 关联关系 | 否 | 否 |
创建人 | createBy | 关联关系 | 否 | 否 |
修改人 | updateBy | 关联关系 | 否 | 否 |
所属部门 | _departmentList | 数组 | 否 | 否 |
记录创建者 | _openid | 文本|单行文本 | 否 | 否 |