数据库触发行为流
该功能用于在数据库发生变更(新增、更新或删除)时自动触发行为流,提升项目自动化水平。
作用
通过配置数据库触发器,可以在数据变更时自动执行预定义的行为流,适用于以下场景:
- 自动化处理:如订单完成后自动发送通知、用户积分变更时自动记录日志等。
- 数据同步:如用户信息更新后自动同步到其他系统。
- 业务流程自动化:如用户付费达到一定金额时自动升级会员、订单状态变更时自动执行相关操作等。
- 事件驱动:如用户注册后自动发送欢迎邮件、数据变更时触发相关业务逻辑。
- 数据监控:如数据异常时自动报警、数据变更时记录审计日志等。
- 数据清理:如定期清理过期数据、自动归档历史记录等。
- 数据统计:如订单完成后自动统计销售额、用户行为数据等。
典型场景
- 用户付费达到一定金额时自动升级为会员
- 订单完成时自动发送微信通知
- 用户积分变更时自动生成操作记录,便于追踪
配置流程
以“用户付费金额大于 1000 时自动升级为 VIP”为例:
创建行为流
- 设置入参 order_id
- 添加获取订单节点,统计该用户总金额
- 添加更新数据节点,将该账号“等级”更新为“会员”
添加触发器
保存行为流后,添加数据库触发器。
选择操作类型。当前支持 4 种操作类型:数据新增时、数据更新时、数据删除时、数据新增或更新时。
在这个例子中,是在用户完成了订单后,也就是订单状态被更新为“completed”时。因此,操作类型选择“数据更新时”,数据表选择“order”表,并设置过滤条件为“status = ‘completed’”。并将行为流入参 order_id 绑定为更新的 order 的 id。
查看触发历史
可在日志系统中查看触发记录,详情查看:日志服务 。
限额与购买
自动执行行为流(定时触发和数据库变更触发)有次数限制:
- 免费赠送,每月月初重置:
- 免费版:1000 次/月
- 高级版:10000 次/月
- 专业版:50000 次/月
- 付费购买,永久有效:
- 费用:10000 次/10 元
特殊说明
-
系统会阻止循环触发
在同一触发链中,某触发器只会被触发一次,避免死循环。 -
避免同时修改同一批数据
多个行为流同时修改同一批数据可能导致死锁。 -
数据导入可能导致大批量触发
如果对某表设置了新增触发器,批量导入数据时每条数据都会触发一次。请务必在导入时进行是否触发相关行为流的配置。 -
数据库触发器配置过滤条件
可获取关联表数据作为过滤条件,但行为流入参无法获取关联表数据。
Last updated on