Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

「添加到数据库」支持创建不存在的数据库 #11012

Closed
Achuan-2 opened this issue Apr 13, 2024 · 18 comments
Closed

「添加到数据库」支持创建不存在的数据库 #11012

Achuan-2 opened this issue Apr 13, 2024 · 18 comments
Labels

Comments

@Achuan-2
Copy link
Member

Achuan-2 commented Apr 13, 2024

In what scenarios do you need this feature?

「添加到数据库」对于dailynote笔记法来说。是一个极好的补充功能。创建文档后,直接添加到指定的数据库,比起块引传递而言,对我来说,留给未来的整理压力更小,因为所有文档都已经非常清楚的罗列在那里,我可以不添加任何标签,慢慢积累。如果真的需要分类,也可以添加一个单选列往里面添加标签,标签也能批量修改。

我的数据库使用分享:https://ld246.com/article/1712235934222。

不过「添加到数据库」目前有一个问题,就是不支持创建不存在的数据库,对于不存在的数据库我需要找到一个文档,创建一个数据库,然后再添加想要添加的文档,有点不方便,希望对此进行改进。

其实从某个程度来说,「添加到数据库」可以替代现在的添加标签功能,数据库可以代替标签管理功能,一个文档可以加入多个数据库中,可以对数据库中的文档进行分类排序。既然现在的标签功能不好大改,作为刚出来不久的数据库,我们大可以附加更有创意的功能。

Describe the optimal solution

  1. 如同块引创建文档一样,给全局和笔记本添加设置,「添加到数据库」创建不存在的数据库会默认放在指定的文档下。
  2. 创建不存在的数据库有两种思路,一种是整合在一个文档里,另一种是根据输入的数据库名,创建同名文档(放在之前指定的文档下),然后创建同名的数据库。我个人更推荐后者,因为前者后续可能还需要再把数据库迁移到其他文档里,而后者相当于是已经创建了一个主题文档/标签文档,数据库用来管理概念文档, 后续其实不需要再动这篇文档甚至可以不断去完善这篇文档的内容,即把这些通过「添加到数据库」创建的文档,当成自己领域/兴趣的主题文档。这使得数据库的创建更加无压,在一定程度上可以代替标签功能。

这种方法可能只适合创建顶级标签,如果需要分父子标签的话,可以直接在顶级标签文档的数据库里添加单选列/多选列,来添加子标签。

当然本功能也不必为了去创建主题/标签文档,用户可以只把其当成快捷创建数据库往里面添加文档功能,后续可以把创建的数据库/文档进行迁移。
总之,只需要不大的改进,就可以多出新的笔记管理玩法。

Describe the candidate solution

Other information

链滴投票:https://ld246.com/article/1712983040555

@5kyfkr
Copy link

5kyfkr commented Apr 13, 2024

支持,这个可以进一步减少DN输入的压力,完善添加到数据库功能的便捷性,我现在是通过新建个收集箱库,把不确定的东西先发过去,后续再在这个库转发过去其他库里,如果能直接新建库那应该会更省事,就像双链里新建文档一样方便能一键完成

@TCOTC
Copy link
Contributor

TCOTC commented Apr 13, 2024

另一种是根据输入的数据库名,创建同名文档(放在之前指定的文档下),然后创建同名的数据库。

支持这个方案。另外再顶一下这个 issue:新建文档支持指定笔记本 · Issue #10671 · siyuan-note/siyuan ,能一起实现就好了


image

@TCOTC
Copy link
Contributor

TCOTC commented May 11, 2024

@88250 新建文档支持指定笔记本 · Issue #10671 · siyuan-note/siyuan 已经实现了,这个 issue 什么时候做?

@88250
Copy link
Member

88250 commented May 11, 2024

估计做不了,因为数据库需要和数据库块绑定,没有绑定关系的话很多地方会有问题。

@5kyfkr
Copy link

5kyfkr commented May 11, 2024

估计做不了,因为数据库需要和数据库块绑定,没有绑定关系的话很多地方会有问题。

能不能先自动新建个数据库绑定到指定笔记里的数据库块嘛,给个指定的新数据库存放位置配置一下应该可以吧

@88250
Copy link
Member

88250 commented May 11, 2024

适合插件实现。

@5kyfkr
Copy link

5kyfkr commented May 11, 2024

适合插件实现。

这个功能要集成进 “添加到数据库”这个功能里,用插件没办法这么方便吧

@TCOTC
Copy link
Contributor

TCOTC commented May 11, 2024

估计做不了,因为数据库需要和数据库块绑定,没有绑定关系的话很多地方会有问题。

@88250 1 楼说:

根据输入的数据库名,创建同名文档(放在之前指定的文档下),然后创建同名的数据库。

我觉得这个操作逻辑很合理,直接实现就好了

@88250
Copy link
Member

88250 commented May 11, 2024

插件加一个菜单项“添加到新数据库”,完成功能:

  1. 按插件配置的路径创建文档、文档中创建数据库块和数据库
  2. 将当前块添加到这个新数据库

@88250
Copy link
Member

88250 commented May 11, 2024

估计做不了,因为数据库需要和数据库块绑定,没有绑定关系的话很多地方会有问题。

@88250 1 楼说:

根据输入的数据库名,创建同名文档(放在之前指定的文档下),然后创建同名的数据库。

我觉得这个操作逻辑很合理,直接实现就好了

这个逻辑会和新建文档存放路径配置冲突哦。

@5kyfkr
Copy link

5kyfkr commented May 11, 2024

插件加一个菜单项“添加到新数据库”,完成功能:

  1. 按插件配置的路径创建文档、文档中创建数据库块和数据库
  2. 将当前块添加到这个新数据库

那这样就要多设置一个快捷键了,而且没法知道那个数据库是否已经重复了,添加到数据库功能能搜索已有的数据库

@88250
Copy link
Member

88250 commented May 11, 2024

插件也可以实现搜索的,接口都有。

@5kyfkr
Copy link

5kyfkr commented May 11, 2024

插件也可以实现搜索的,接口都有。

这样子就还行,就是有感觉有点重复造轮子,明明有个很方便的全局入口了,再多优化两步就能更方便了

@TCOTC
Copy link
Contributor

TCOTC commented May 11, 2024

根据输入的数据库名,创建同名文档(放在之前指定的文档下),然后创建同名的数据库。

我觉得这个操作逻辑很合理,直接实现就好了

这个逻辑会和新建文档存放路径配置冲突哦。

@88250 不冲突,就按照「块引新建文档存放位置」来新建文档


2024.9.20 补充:

#11479 (comment) 中计划改成这样:

数据库中的行创建文档时,从使用 块引新建文档存放位置 调整为使用 新建文档存放位置

所以是要按照「新建文档存放位置」来新建文档

@88250
Copy link
Member

88250 commented May 11, 2024 via email

@Achuan-2
Copy link
Member Author

Achuan-2 commented May 11, 2024

不冲突,就按照「块引新建文档存放位置」来新建文档

个人觉得要做这个功能,还是最好有一个专门的文档存放位置配置,因为需要通过「添加到数据库」功能来建立包含新数据库的文档应该主要是主题向的文档,小的主题可能是读一书,大的主题可能是一个领域、一个学科,这些文档和「块引新建文档存放位置」混在一起之后,就算这些文档建立了,之后还是需要手动复制文档块引链接到显眼的地方、或者移动文档的,不然这些重要的主题文档就零散在各个位置了。这和那些块引新建,并不在乎文档位置的文档不一样,是需要精心去维护、发展的,而且块引新建文档,这些文档起码已经有一个链接放在主题文档下了,可以通过搜索这个主题文档找到该新建的文档,则是自上而下的关系,我只需要管理上面的主题文档包含的各个链接就行了,不需要链接指向的概念笔记位置在哪里。但是用「添加到数据库」新建新数据库只是新建文档和数据库,并没有留下这个文档的锚点,锚点只是数据库的名称,这是自下而上的关系。

而如果直接设置这些新建数据库的文档都放在一个位置,我就可以安心把这个位置下的文档都看作标签或者主题、领域笔记,新建完了之后就不需要再费心管理了,就暂时丢在那里就好了。这样数据库才能按照我设想的,完全当成一个标签功能来用,管理路径下的这些文档,就是在管理标签。

@88250
Copy link
Member

88250 commented May 11, 2024

怕是不能按 块引新建文档存放位置 设置,应该按 新建文档存放位置

@88250 88250 added the Idea label Oct 21, 2024
@88250
Copy link
Member

88250 commented Oct 21, 2024

考虑到创建库并非高频功能,还是期待插件实现吧。

@88250 88250 closed this as not planned Won't fix, can't repro, duplicate, stale Oct 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants