我需要将一个3级树结构保存到MySQL中。在每次修改树之前,我会将原始树复制到某处。修改后,我需要知道修改后的“差异”结果。
例如,原始树是:
.
├── GroupA
│ ├── NodeA
│ │ └── LeafA
│ └── NodesB
└── GroupB
我修改后,新树是:
.
├── GroupA
│ ├── NodeB
│ ├── NodeA
│ │ ├── LeafA
│ │ └── LeafB
│ └── NodesB
└── GroupB
我需要知道:
等等。
那么存储这棵树的最佳方法是什么,以便在修改之间得到“差异”结果?
这是我的解决方案:
我尝试记录修改,但是一个简单的操作日志无法处理这样的情况:
将有3个日志,但实际上只有一个修改
那么,还有更好的解决方案吗?有人可以给我一个暗示吗?
答案 0 :(得分:0)
我打赌你应该让树木数据平坦,然后让它更容易? 例如:
在表格中添加代码字段
├── GroupA(xxxa_1)
│ ├── NodeA(xxxa_1_1)
│ │ └── LeafA(xxxa_1_1_1)
│ └── NodesB(xxxa_1_1)
├── GroupA(xxxb_1)
│ ├── NodeB(xxxb_1_1)
│ ├── NodeA(xxxb_1_1)
│ │ ├── LeafA(xxxb_1_1_1)
│ │ └── LeafB(xxxb_1_1_1)
│ └── NodesB(xxxb_1_1)
xxxa和xxxb是第一个节点'id