
ancestry
stefankroes
Organise ActiveRecord model into a tree structure
AI 简介
Ancestry 是一个 Ruby gem,用于将 Rails 的 ActiveRecord 模型组织成树状结构。它采用了物化路径模式,通过单一列存储祖先链,无需额外的表,单次查询即可读取。这使得 Ancestry 在大多数单节点操作中表现出色。项目支持单个 B-Tree 索引查询来获取各种关系(如祖先、后代、兄弟节点等),并且在移动节点时仅更新其后代而非整个树。此外,它还提供了多种处理删除节点的策略、深度缓存与约束等功能,并支持 STI(单表继承)。Ancestry 适用于需要高效管理和查询层次结构数据的应用场景,例如组织机构图、分类系统等。
Ruby
MIT License3.9k
Stars
472
Forks
45
Watchers
22
Issues
Star 增长
今日0
近 7 天+2
近 30 天+16
综合评分62.62
默认分支master