gpt4 book ai didi

sqlite - Firefox 书签 SQLite 结构

转载 作者:IT王子 更新时间:2023-10-29 06:18:37 27 4
gpt4 key购买 nike

我正在尝试编写一个 Firefox 3 附加组件,它将使我能够轻松地重新标记书签。例如,我有一些标记为“开发”的书签和一些标记为“开发”的书签,我想要一种方法可以轻松地将所有“delelopment”标签更新为“开发”。不幸的是,我找不到执行此操作的附加组件,所以我想我会创建自己的。

在我设法掌握基础知识并发现 FireFox 将所有书签存储在名为 Places.sqlite 的 SQLite 数据库中之前,我没有开发过附加组件。在该数据库中有一个名为 moz_bookmarks 的表,其中包含书签目录中的所有书签、标签和文件夹。书签文件夹及其子书签的结构使用外键 id 表示,该外键 id 指向同一表中父文件夹的 id,该表再次向上递归到该父文件夹的 id,直到它到达书签根目录。

然而,我被卡住的地方是你在 firefox 中应用的标签是如何与书签相关的。每个标签都有一个类型 = 2 和父 ID = 4。但是我看不出这与使用该标签的实际书签之间没有关联。如果我在 firefox 中将书签添加到没有特定文件夹但给它 2 或 3 个标签,那么它的父文件夹 ID 为 5,对应于“未归档”,但我看不到与其关联的标签的进一步关联。

我找到了这个Wiki page on the structure但这并没有真正的帮助。

这让我抓狂:( 请帮忙...

最佳答案

您可能已经发现自己,但标签的应用如下:

数据库中所有 URL 的中心位置是 moz_places。表 moz_bookmarks 通过外键列 fk 引用它。

如果您标记一个书签,moz_bookmarks 中有多个条目,所有条目都具有相同的引用 fk:第一个是书签本身(在 中有标题code>title 列)对于每个标签,moz_bookmarks 中有一个额外的条目具有相同的外键 fk 并引用 parent 中的标签 列(指向标签的 moz_bookmarks 行)。

如果你有一个书签'http://stackoverflow.com ' 标题为“Stackoverflow”,标签为“编程”和“信息”,您将获得:

moz_places
----------
id url (some more)
3636 http://stackoverflow.com

moz_bookmarks
-------------
id type fk parent title (other columns omitted...)
332 1 3636 5 Stackoverflow (parent=5 -> unfiled folder)
333 2 (NULL) 4 programming (programming tag, parent=4 -> tags folder)
334 1 3636 333 (NULL) (link to 'programming' tag)
335 2 (NULL) 4 info (info tag, parent=4 see above)
336 1 3636 335 (NULL) (link to 'info' tag)

希望这有助于...

关于sqlite - Firefox 书签 SQLite 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/464516/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com