🎨 Improve duplicating for a doc with databases https://github.com/siyuan-note/siyuan/issues/11602
This commit is contained in:
parent
2589b009eb
commit
2a47791b4d
2 changed files with 27 additions and 3 deletions
|
@ -1640,13 +1640,19 @@ func removeDoc(box *Box, p string, luteEngine *lute.Lute) {
|
|||
}
|
||||
indexHistoryDir(filepath.Base(historyDir), util.NewLute())
|
||||
|
||||
// 刷新文档关联的数据库 https://github.com/siyuan-note/siyuan/issues/11731
|
||||
allRemoveRootIDs := []string{tree.ID}
|
||||
allRemoveRootIDs = append(allRemoveRootIDs, removeIDs...)
|
||||
for _, rootID := range allRemoveRootIDs {
|
||||
if removeTree, _ := LoadTreeByBlockID(rootID); nil != removeTree {
|
||||
syncDelete2AttributeView(removeTree.Root)
|
||||
removeTree, _ := LoadTreeByBlockID(rootID)
|
||||
if nil == removeTree {
|
||||
continue
|
||||
}
|
||||
|
||||
// 刷新文档关联的数据库 https://github.com/siyuan-note/siyuan/issues/11731
|
||||
syncDelete2AttributeView(removeTree.Root)
|
||||
|
||||
// 解绑数据库关联
|
||||
removeAvBlockRel(removeTree.Root)
|
||||
}
|
||||
|
||||
if existChildren {
|
||||
|
|
|
@ -30,6 +30,7 @@ import (
|
|||
"github.com/88250/lute/parse"
|
||||
"github.com/siyuan-note/filelock"
|
||||
"github.com/siyuan-note/logging"
|
||||
"github.com/siyuan-note/siyuan/kernel/av"
|
||||
"github.com/siyuan-note/siyuan/kernel/filesys"
|
||||
"github.com/siyuan-note/siyuan/kernel/sql"
|
||||
"github.com/siyuan-note/siyuan/kernel/task"
|
||||
|
@ -105,6 +106,23 @@ func resetTree(tree *parse.Tree, titleSuffix string) {
|
|||
}
|
||||
return ast.WalkContinue
|
||||
})
|
||||
|
||||
var attrViewIDs []string
|
||||
// 绑定镜像数据库
|
||||
ast.Walk(tree.Root, func(n *ast.Node, entering bool) ast.WalkStatus {
|
||||
if !entering {
|
||||
return ast.WalkContinue
|
||||
}
|
||||
|
||||
if ast.NodeAttributeView == n.Type {
|
||||
av.UpsertBlockRel(n.AttributeViewID, n.ID)
|
||||
attrViewIDs = append(attrViewIDs, n.AttributeViewID)
|
||||
}
|
||||
return ast.WalkContinue
|
||||
})
|
||||
|
||||
// 清空文档绑定的数据库
|
||||
tree.Root.RemoveIALAttr(av.NodeAttrNameAvs)
|
||||
}
|
||||
|
||||
func pagedPaths(localPath string, pageSize int) (ret map[int][]string) {
|
||||
|
|
Loading…
Add table
Reference in a new issue