巧用postgresql数组类型的列处理上下级多级审批类型的业务:
在一些不支持数组类型的数据库中处理上下级审批类型的业务不得不创建新的表来存储当前审批者的标识信息,如果这种类似逐级审批的业务类型比较多则需要为每种业务类型创建功能相似的表,增加了系统业务关系的复杂性。
有了数组类型的支持则完全不同:当前审批者的ID(必须支持多个直接上级)保存在数组类型的列中,每一个直接上级审批通过后将自己的所有直接上级的ID保存在该列中(array_append),同时将自己的ID在该列中删除(array_remove),如此逐级审批的业务功能就完全能够满足,而且很清晰,不需要维护额外的关系和表,多种逐级类型的业务分别用不同名称的数组类型的列保存当前直接上级ID即可。
有了数组类型的支持,则这种类似parents/childs的上下级相关的业务就简单的多了。
巧用postgresql数组类型的列处理上下级多级审批类型的业务
最新推荐文章于 2021-11-08 20:30:02 发布