1. 应用集成
  2. 数据源

华炎魔方使用 mongodb 数据库作为默认数据源,该默认数据源是必须的,而且无法使用其他数据库作为默认数据源。

考虑在很多场景下我们会需要连接第三方系统的数据源,以在华炎魔方上展示、统计甚至维护这些第三方数据源上的数据,所以我们做了大量开发来让华炎魔方支持直接连接各种类型的外部数据源。

连接外部数据源可以做什么?

在华炎魔方上连接了外部数据源后,我们可以按这些外部数据源上的各个表结构来配置其对应的华炎魔方外部数据源对象,然后就可以像使用默认数据源对象一样使用这些对象。

在默认数据源对象上有的功能大部分在外部数据源对象上也有,目前已知的区别有:

功能默认数据源外部数据源
对象权限完全支持有限支持
内置字段全部
字段类型所有部分
  • 外部数据源只支持有限的对象权限功能,比如不支持配置某些用户只能看到属性自己的记录,而管理员可以看到所有记录。
  • 外部数据源没有任何基础字段及其功能,比如所有者、创建人、创建时间、主分部等;如果需要只能额外在对应的对象上新建相关字段并实现相关功能。
  • 外部数据源只支持部分字段类型,比如关系型数据库不支持数组类型字段。

关于驱动包安装

2.1.50版本开始,各种类型的外部数据源依赖的驱动包都已经内置到华炎魔方了。这意味着如果您使用的是华炎云平台,那么你不需要做任何安装操作,直接配置外部数据源即可使用;如果您使用的是私有部署的华炎魔方,那么您只需要通过命令行cd到项目根目录并执行yarn即可与其他依赖包一起安装。

对于私有部署的项目,推荐使用命令行npx create-steedos-app my-app来创建华炎魔方项目。

如果是之前已经创建的老版本的私有部署的魔方项目,除了要升级版本到2.1.50以上的魔方版本之外,还需要确定下项目根目录下的package.json文件中是否已经填写了相关驱动包的依赖项,另外我们对typeorm包版本也有要求,所以正确的安装驱动包方式是把 模板项目的package.json 文件内容复制到您的项目中,然后在项目根目录执行命令行指令yarn来安装相关驱动包。

配置外部数据源

要想连接外部数据源,我们首先需要在”设置“应用的”对象设置→外部数据源“界面配置对应的外部数据源。

  • 在配置连接属性时,”连接数据库的URL“与”其他连接选项“二者选填一个即可不用都填写。
  • 当勾选“Debug”属性时,该数据源下所有请求的SQL语句都将在服务端控制台输出日志用于调试。
  • 配置完成后,可以在该外部数据源记录详细界面右上角点击“测试连接”按钮来测试配置的参数是否正确,当提示连接成功即表示配置生效了。
“Debug”开关是用于调试目的,如果是在生产环境中打开该开关,调试完成后请不要忘记把它关闭。

MongoDB

连接数据库的URL:当在开发环境未配置密码时,格式如:mongodb://127.0.0.1:27017/steedos,生产环境会配置密码,其格式如:mongodb://userUsername:userPassword@127.0.0.1:27017/steedos?replicaSet=rs0

其他连接选项:按实际配置填上相关内容即可。

MySQL

连接数据库的URL:其格式如:mysql://userUsername:userPassword@192.168.0.33:13306/driver-test

其他连接选项:按实际配置填上相关内容即可。

SQL Server

连接数据库的URL:其格式如:mssql://userUsername:userPassword@192.168.0.135:1433/driver-test

其他连接选项:按实际配置填上相关内容即可。

PostgreSQL

连接数据库的URL:其格式如:postgresql://userUsername:userPassword@192.168.0.194:5432/test

其他连接选项:按实际配置填上相关内容即可。

Oracle

敬请期待。。。

配置外部数据源对象

外部数据源配置好后,接下来我们可以在该数据源详细界面底部找到对象子表,然后按照该数据源下计划要在华炎魔方上访问的表的表结构分别创建对应的对象及字段。

配置对象

跟配置默认数据源下的对象方式是一样的,不过在对象上需要把“数据源”选项配置为正确的外部数据源,而不是选择默认数据源。

另外鉴于华炎魔方的对象“API名称”有自己的命名规范,很可能无法把“API名称”配置成数据源上对应的实际的表名称,这时可以额外在对象的“外部数据源”栏下的“数据库表名称”属性框中输入实际的表名称来配置表名。

配置对象字段

跟配置默认数据源下的对象字段方式是一样的,在对象详细界面的“对象字段”子表上按该对象的实际字段情况依次新建相关字段即可。

其中“外部数据源”栏下相关属性需要配置下:

  • 数据库字段名:当该字段下的“字段名”属性填写的名称与该外部数据源上对应的表中字段名不一致的时候,必须在这里填入对应表中的实际字段名。
  • 主键:当某个字段在其外部数据源上对应的表中被配置为主键时,这里需要对应的勾选为主键字段。
  • 自增:当某个字段在其外部数据源上对应的表中被配置为自增字段时,这里需要对应的勾选为自增字段。
在华炎魔方中,所有的外部数据源对象都必须要配置主键字段,否则无法启用该对象。

启用对象

在按上述步骤配置好外部数据源对象及其字段后,就可以通过再次编辑该对象,把其中的“启用”勾选框勾选上然后保存来启用该对象。

只有启用成功的对象才能正常加载到华炎魔方,如果您在启用对象时遇到错误提示,请按相关提示修正该对象或其字段配置。

预览测试

跟默认数据源下的对象一样,外部数据源对象启用成功后,我们也可以点击该对象配置界面右上角的预览按钮来查看和测试该对象的相关功能。

在应用中展示外部数据源对象

与默认数据源上的对象一样,可以把对象作为菜单加到某个应用中,整个配置过程及功能上完全没有任何区别。

可以在“设置”应用中进入“应用程序→选项卡”,然后新建对应的选项卡:

  • 类型:选择对象,而不是其他类型。
  • 对象:从下拉菜单中选择该选项卡关联的外部数据源对象。
  • 显示在手机菜单中:需要显示在手机菜单中的话请勾选。
  • 显示在桌面菜单中:需要显示在桌面菜单中的话请勾选。

然后再进入“设置”应用的“应用程序→应用程序”界面,新建一个新应用或者选择已有应用,然后在应用的“选项卡”属性中选择刚设置的几个选项卡。

设置完成后,您就可以在相关应用中看到上面配置过的外部数据源对象了。