在使用XMarks + Firefox + Chrome + Android的许多糟糕的同步体验之后,我的书签文件夹完全搞砸了:我有重复的文件夹名称,很多但不是全部都是空的。
我不久前停止使用Xmarks,显然是为了阻止它破坏事物。我不知道有多少书签消失了...... Xmarks有一个方便的书签同步历史,但从那里修复所有东西太麻烦了(没有自动化方式)
我正在考虑手动编辑places.sqlite
书签数据库...
答案 0 :(得分:1)
在寻找一段时间后,我决定手动修复places.sqlite
Firefox的书签数据库。
下载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
,如前所述Voilà... Firefox Sync现在正在使用固定书签同步所有连接的设备