外部数据库

外部数据库是由开发者添加进平台的,通常是现存的业务数据库,支撑着当前运行中的业务系统(如ERP),通过SQL语言把平台上新开发的应用与现存系统相融合,从而避免信息孤岛。
如果数据交互量很大,可以考虑把平台私有部署到外部数据库同一个区域以加快数据交换的速度(用内网IP连接效果最佳)。如果无需业务数据的融合则优先考虑直接使用平台内部的Postgres数据库,从而可以利用平台提供的便利的数据查询/操作函数而无须写SQL。
目前支持的外部数据库有PostgreSQL,MySQL,MS SQL Server,Oracle。不限数量。

日志

平台自动为开发模式下的SQL执行开启日志,可以查看最终被执行的预编译语句和对应的值。

事务

在后端自定义服务中可以点击【事务】开关以开启事务,开启后这个服务中所有函数都处于事务状态中,其中任一条表达式出错就会停止执行并回滚事务,然后执行回滚表达式并把返回值返回前端,如果没有回滚表达式则会把错误信息返回前端。

在自定义服务中也可以根据条件主动执行rollback()回滚事务,比如如果上一条SQL虽然执行成功但它的执行结果不符合预期,或者先主动查询数据库看看数据是否符合条件,不符合则趁早回滚。

权限/安全

外部数据库里添加的SQL虽然可以在前端直接调用,但本质上依然是个后端服务$sql.name(),有执行前/后两个触发器,可以在真正执行SQL前先执行自定义逻辑以判断权限或者修正参数,执行SQL后还可以执行自定义逻辑,转换最终返回前端的数据或日志处理等任务。具体文档请参考接口安全

由众触低代码平台生成和驱动