数据库设计,是数字经济的基础,是重要的软基建。
openDB
,是一套开放的数据表设计规范,包括了表名、字段等schema定义以及初始数据。
以用户表为例,它约定了一个标准用户表的表名和字段定义,并且基于nosql的特性,可以由开发者自行扩展字段。
openDB
是uniCloud的重要软基建,支撑uniCloud数字生态的发展。
uni-id的账户统一,是openDB
的成功实践。基于uni-id规范,有电商插件、有IM插件、有PC管理插件,开发者可以方便的把这些插件整合到自己的同一应用中。
目前openDB
已经支持几十张表。可以在https://gitee.com/dcloud/opendb/tree/master/collection查看。
部分常用表单独提供文档如下:
openDB
不仅支持定义常用的数据表字段,还可以预置初始化数据。
比如,opendb-city-china是opendb中定义好的中国城市字典表
,它的定义分为两个部分:
你通过uniCloud web控制台创建openDB
表时,uniCloud
会自动校验该opendb表定义中是否包含data.json
,若包含,则在创建表定义后,自动导入data.json
。
如果你的 HBuilderX 项目中,uniCloud/database
目录下定义的数据表中含有opendb表定义,则对该opendb表执行上传DB Schema
操作时,uniCloud服务端会判断该opendb表是否已存在:
DB Schema
;data.json
,若包含data.json
,则自动导入data.json
openDB
数据表在后续的更新迭代中,可能会涉及到schema
及预置数据
的变更。自HBuilderX 3.5.1
之后,opendb表支持检查更新。
以opendb-city-china为例,当我们要修改或补充城市时,为了兼容已部署的数据表,应提供差量数据,这时我们需要做的是:
opendb-city-china/package.json
中的version
字段为升级后的版本号;opendb-city-china/collection.update-原始版本号-升级版本号.jql
JQL数据库管理器文件,内容为差量数据的JQL语句;比如行政区域的撤销或设立需要数据升级,并且定义升级后的版本号为0.0.2,这时需要将差量数据以JQL语句的形式写入文件opendb-city-china/collection.update-0.0.1-0.0.2.jql
中,并更新opendb-city-china/package.json
的version
字段。
在uniCloud web控制台,新建表时,可直接选择所有openDB
的表。
首先选分类,每个分类下又有若干表,表结构和预置数据可直接预览。支持多个表一起创建。
openDB
的表,不应修改表名,修改后就无法与其他插件连同了。
openDB
是一个持续发展的、由开发者共建的规范。DCloud欢迎各个业务领域的专业开发者提供规范。
开发者通过提pr的方式,给openDB
添加规范,或者给已有规范的表添加字段,或者添加初始化数据。gitee支持轻量pr,尤其适合共同编辑规范。
其他注意:
openDB
只增加表和字段,不删改。此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。