在与XMarks+Firefox+Chrome+Android进行了多次错误的同步之后,我的书签文件夹完全搞砸了:我有重复的文件夹名,其中很多都是空的。
很明显,我一段时间前就不再使用Xmarks来阻止它破坏事物了。我不知道有多少书签不见了..。Xmarks有一个方便的书签同步历史,但是从那里修复所有的东西都太麻烦了(没有自动的方法)。
我在考虑手工编辑places.sqlite书签数据库..。
发布于 2017-07-02 18:25:59
在寻找了一段时间之后,我决定手动修改places.sqlite火狐的书签数据库。
在下载了一个sqlite3客户端之后,当然还有备份了我的places.sqlite文件之后,我附带了以下查询。
在我的例子中,我并不特别了解与书签相关的描述、关键字或任何元数据。
1-创建一个具有一个id->文件夹名的辅助表:
CREATE TABLE ufld AS
SELECT min(id) AS id, title
FROM moz_bookmarks
group by title
order by title;2-创建另一个辅助表,其中每个书签都有它的父文件夹名和ufld名称(如果您想先查看的话,列数比需要的多):
CREATE TABLE bkm_fld_ufld AS
SELECT
b.id AS bid,
b.parent AS bparent,
b.title AS btitle,
b.type AS btype,
fld.id AS fid,
fld.parent AS fparent,
fld.title AS ftitle,
fld.type AS ftype,
ufld.id AS ufldid,
ufld.title AS ufldtitle
FROM moz_bookmarks b
JOIN moz_bookmarks fld ON
fld.id = b.parent
JOIN ufld ON
ufld.title = fld.title;3-使用辅助表更新书签(省略“特殊文件夹”):
UPDATE moz_bookmarks
SET parent = (SELECT bkm_fld_ufld.ufldid
FROM bkm_fld_ufld
WHERE bkm_fld_ufld.bid = moz_bookmarks.id)
WHERE guid NOT GLOB '*___';4.清理:
DROP table ufld;
DROP table bkm_fld_ufld;就这样,现在我可以在Firefox文件夹中复制places.sqlite,并享受刷新和清理过的书签。
如果有人想出了更好的办法,我听说.
火狐同步更新
如果启用了Firefox,那么它将尝试恢复标签,就像修改places.sqlite文件之前一样。
解决办法是:
places.sqlite瞧..。Firefox现在用固定书签同步所有连接的设备。
https://stackoverflow.com/questions/44873822
复制相似问题